[Algorythm][JS] 가장 많은 숫자 갯수만큼 구하기

GY·2021년 12월 23일
0

알고리즘 문제 풀이

목록 보기
79/92
post-thumbnail

문제

nums는 숫자로 이루어진 배열입니다. 가장 자주 등장한 숫자를 k 개수만큼 return해주세요.

nums = [1,1,1,2,2,3],
k = 2
​
return [1,2]
​
nums = [1]
k = 1
​
return [1]

풀이

function solution(nums, k) {
  const map = new Map();
  for(let i = 0; i < nums.length; i++) {
    const curr = nums[i];
    if(map.has(curr)) {
      map.set(curr, map.get(curr) + 1)
    } else {
      map.set(curr, 1)
    }
  }
  const mapArr = [...map];
  const sorted = mapArr.sort((a,b) => {
    return b[1] - a[1];
  })
  let answer = [];
 for(let i =0; i < k; i++) {
   answer.push(sorted[i][0]);
 }
  return answer;
}

solution([1,1,1,2,2,3], 2)
profile
Why?에서 시작해 How를 찾는 과정을 좋아합니다. 그 고민과 성장의 과정을 꾸준히 기록하고자 합니다.

0개의 댓글