TIL # 45 [Algorithms] 03. number k

3369 단어 AlgorithmsAlgorithms

문제


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))
}

좋은 웹페이지 즐겨찾기