새 관찰 데이터가 담긴 배열이 주어집니다. 각 요소는 새의 종류를 나타내는 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 |