leetcode

229. Majority Element II 자바스크립트

냠냠맨 2023. 1. 7. 18:10

⚡문제정보

 

테스트케이스만 보면 뭐 어쩌라는거지..? 싶은데

큰 마음을 먹고 문제 설명을 읽어보면 간단합니다.

 

등장횟수가 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를 돌려서 조건을 만족하는 값만 담아줍니다.

 

 

반응형