⚡문제정보
테스트케이스만 보면 뭐 어쩌라는거지..? 싶은데
큰 마음을 먹고 문제 설명을 읽어보면 간단합니다.
등장횟수가 nums.length / 3보다 많은 숫자만 찾아서 배열에 담아라
라고 해석하면 되겠네요
🔍나의 풀이
var majorityElement = function(nums) {
let map = new Map()
let answer = []
for(num of nums) {
map.set(num, (map.get(num) || 0) +1)
}
map.forEach( (value, key) => {
if( value > (nums.length / 3) ) {
answer.push(key)
}
} )
return answer
};
map 자료구조에서 forEach를 돌릴때 주의할점은
당연히 인자가 key, value 형태로 들어올 거라고 생각할 수 있지만
사실은 value, key 형태로 인자가 들어온다는 것입니다.
각 숫자의 등장 횟수를 담아주고
forEach를 돌려서 조건을 만족하는 값만 담아줍니다.
반응형
'leetcode' 카테고리의 다른 글
349. Intersection of Two Arrays 자바스크립트 (0) | 2023.01.07 |
---|---|
290. Word Pattern 자바스크립트 (0) | 2023.01.07 |
169. Majority Element 자바스크립트 (0) | 2023.01.07 |
49. Group Anagrams 자바스크립트 (0) | 2023.01.07 |
3. Longest Substring Without Repeating Characters 자바스크립트 (0) | 2023.01.07 |