늘 겸손하게

LeetCode 1207 - Unique Number of Occurrences ( JavaScript ) 본문

코딩 문제/LeetCode

LeetCode 1207 - Unique Number of Occurrences ( JavaScript )

besforyou999 2021. 11. 13. 12:28

 

안녕하세요 besforyou입니다

 

이번 글은 리트코드 1207번 문제입니다

 


문제 설명

 

배열이 주어졌을때 각각의 원소 출현횟수가 모두 unique하다면(모두 다르다면) true를 반환하고, 아니라면 false를 반환하라.

 

 


문제 풀이

 

  1. map을 만들어서 각 원소의 출현횟수를 저장합니다.
  2. set을 만들어서 출현횟수를 원소로 저장하되, 출현횟수가 겹친다면 false를 반환합니다.
  3. 출현횟수가 한 번도 겹치지 않았다면 true를 반환합니다.

 


코드

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
var uniqueOccurrences = function (arr) {
 
    let myMap = new Map();
    
    for (let num of arr) {
        if (myMap.has(num)) {
            myMap.set(num, myMap.get(num) + 1);
        } else
            myMap.set(num,1);
    }
    
    let mySet = new Set();
    
    for (const val of myMap.values()) {
        if (mySet.has(val))
            return false;
        mySet.add(val);
    }
    return true;    
}
cs