반응형
1. 문제
- 정수 배열 nums와 정수 k가 주어질 때, 가장 많이 나오는 요소를 k개 담은 배열을 반환하라.
2. 해결
function topKFrequent(nums: number[], k: number): number[] {
const map = new Map<number, number>();
for(let i = 0; i< nums.length;i++) {
map.set(nums[i], (map.get(nums[i])??0) + 1)
}
return [...map.entries()].sort((a,b) => b[1] - a[1]).slice(0,k).map(entry => entry[0])
};
- map에 요소와 등장 회수를 key-value로 지정.
- 해당 map에서 추출.