알고리즘/코드카타
Week2 - Day4 (Javascript)
시럽이
2022. 7. 15. 09:55
문제
nums는 숫자로 이루어진 배열입니다. 가장 자주 등장한 숫자를 k 개수만큼 return해주세요.
nums = [1,1,1,2,2,3],
k = 2
return [1,2]
nums = [1]
k = 1
return [1]
풀이
function topK(nums, k) {
let obj = {}
for (let i in nums) {
nums[i] in obj ? obj[nums[i]] += 1 : obj[nums[i]] = 1
}
let sorted = Object.keys(obj).sort(function(a, b) {
return obj[b] - obj[a]
})
return sorted.slice(0, k).map(x => parseInt(x))
}