리트코드/midium
[리트코드] 347. Top K Frequent Elements - js (해시)
bbeyak
2023. 8. 14. 15:09
반응형
1. 문제
https://leetcode.com/problems/top-k-frequent-elements/description/
Top K Frequent Elements - LeetCode
Can you solve this real interview question? Top K Frequent Elements - Given an integer array nums and an integer k, return the k most frequent elements. You may return the answer in any order. Example 1: Input: nums = [1,1,1,2,2,3], k = 2 Output: [1,2]
leetcode.com
2. 코드
해시 맵의 value 별 정렬을 하고 싶을 땐 spread syntax를 통해 map을 배열 형태로 바꿔준 후 조건에 맞게 정렬하면 된다.
/**
* @param {number[]} nums
* @param {number} k
* @return {number[]}
*/
var topKFrequent = function(nums, k) {
const answer = [];
const map = new Map();
for(let n of nums){
map.set(n,(map.get(n) || 0) + 1);
}
const arr = [...map].sort((a,b) => b[1]-a[1]);
for(let i=0;i<k;i++){
answer.push(arr[i][0]);
}
return answer;
};
반응형