Skip to content

Commit 6ca4f60

Browse files
committed
solve(w01): 347. Top K Frequent Elements
1 parent 4ca4b91 commit 6ca4f60

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
/**
2+
* @param {number[]} nums
3+
* @param {number} k
4+
* @return {number[]}
5+
*/
6+
var topKFrequent = function(nums, k) {
7+
// Map을 통해 nums의 담긴 숫자들의 빈번함을 정리함.
8+
const frequencyMap = nums.reduce((map, num) => {
9+
map.set(num, (map.get(num) || 0) + 1);
10+
return map;
11+
}, new Map());
12+
13+
// 빈도수를 기준으로 정렬하여 답을 유도함.
14+
const result = Array.from(frequencyMap.entries())
15+
.sort((a, b) => b[1] - a[1])
16+
.slice(0, k)
17+
.map(item => item[0]);
18+
19+
return result;
20+
};

0 commit comments

Comments
 (0)