Skip to content

Commit a26c3ca

Browse files
author
bhan
committed
top K frequent elements solution
1 parent dabb24d commit a26c3ca

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
/**
2+
* @param {number[]} nums
3+
* @param {number} k
4+
* @return {number[]}
5+
*/
6+
var topKFrequent = function (nums, k) {
7+
const freqMap = new Map();
8+
9+
// 빈도수 계산
10+
for (const num of nums) {
11+
freqMap.set(num, (freqMap.get(num) || 0) + 1);
12+
}
13+
14+
// Min Heap을 사용해서 상위 k개만 유지
15+
return Array.from(freqMap.entries()) // [ [num, count], [num, count], ... ]
16+
.sort((a, b) => b[1] - a[1]) // 빈도수를 기준으로 내림차순 정렬
17+
.slice(0, k) // 상위 k개 선택
18+
.map((entry) => entry[0]); // 숫자만 추출
19+
20+
return result;
21+
};

0 commit comments

Comments
 (0)