본문 바로가기

Fundamentals/Algorithms

[해커랭크] Migratory Birds

문제링크

 

Migratory Birds | HackerRank

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

www.hackerrank.com

새 관찰 데이터가 담긴 배열이 주어집니다. 각 요소는 새의 종류를 나타내는 ID입니다. 가장 자주 관찰된 새의 종류 ID를 결정하세요. 만약 최대 횟수로 관찰된 새의 종류가 여러 개라면, 그 중 가장 작은 ID를 반환하세요.

문제풀이 :

 

function migratoryBirds(arr) {
    const count = {}
    let max = 0;
    let minType = 6
    
    arr.forEach((value, index)=>{
        count[value] = (count[value] || 0) + 1
        if(count[value] > max){
            max = count[value]
            minType =  value
        }else if(count[value] === max && value < minType){
             minType =  value
        }
    })
    
    return minType
}

 

반복문으로 요소를 순회하면서 조건문에 따라 요소의 빈도수가 max보다 큰 경우 max값과 minType값을 갱신하고 만약 요소 빈도수와 max가 같은 경우에는 현재 minType보다 작은 경우 minType만 갱신합니다.

 

'Fundamentals > Algorithms' 카테고리의 다른 글

[해커랭크] Bill Division  (0) 2023.12.05
[해커랭크] Day of the Programmer  (0) 2023.12.05
[해커랭크] Divisible Sum Pairs  (0) 2023.12.04
[해커랭크] Subarray Division  (0) 2023.12.04
[해커랭크] camelcase  (0) 2023.11.26