본문 바로가기
Algorithm/문제풀이

[HackerRank] Migratory Birds (Easy) by javascript

by 썸머워즈 2022. 4. 19.
반응형

▷ 문제 : Migratory Birds (Easy)

 

Migratory Birds | HackerRank

Determine which type of bird in a flock occurs at the highest frequency.

www.hackerrank.com

▷ 해결 날짜 : 2022.04.19
▷ 소요 시간 : 10분
▷ 풀이 과정 :
가장 많이 사용된 번호를 반환하는건데 가장 많이 사용된 번호가 여러개일 경우 가장 작은수를 반환하면 되는 문제이다.

적절하게 Map을 사용하면 손쉽게 해결할 수 있다.

 

결과값을 뽑을때 배열 메서드를 사용하면 한줄이면 될 거 같은데, 그냥 성능상 for문 한번이면 될 거 같아서 for문을 돌려서 결과값을 뽑아냈다.


▷ 구현

function migratoryBirds(arr) {
    let birds = new Map();
    arr.forEach(key => {
        birds.set(key, birds.has(key) ? birds.get(key) + 1 : 1);
    });

    const max = Math.max(...birds.values());
    
    let answer = birds.size;
    for(let [key, value] of birds){
        if(value === max && key < answer) answer = key;
    }
    return answer;
}


▷ 복기 :
Easy 난이도와 Medium 난이도의 갭 차이란...

반응형


댓글

TOP