Skip to content

Commit 59b14a8

Browse files
committed
top k frequent elements solution
1 parent a5e4185 commit 59b14a8

File tree

1 file changed

+31
-0
lines changed

1 file changed

+31
-0
lines changed

top-k-frequent-elements/yeeZinu.js

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
/**
2+
* @param {number[]} nums
3+
* @param {number} k
4+
* @return {number[]}
5+
*
6+
* nums 배열 내 최빈도 숫자 k개 출력
7+
*
8+
*/
9+
var topKFrequent = function (nums, k) {
10+
// 빈도 체크할 객체
11+
let frequent = {};
12+
13+
for (let i = 0; i < nums.length; i++) {
14+
// 숫자 중복될때마다 +1
15+
if (frequent[nums[i]] > 0) {
16+
frequent[nums[i]]++;
17+
}
18+
// 없으면 1로 초기화
19+
else {
20+
frequent[nums[i]] = 1;
21+
}
22+
}
23+
24+
// 정렬을 위해 entries를 사용해 배열로 변환
25+
const frequentEntries = Object.entries(frequent);
26+
frequentEntries.sort((a, b) => b[1] - a[1]); // 내림차순 정렬
27+
28+
// k갯수만큼 배열 자르기 및 배열 내부 값 number로 변경
29+
const topK = frequentEntries.slice(0, k).map((i) => Number(i[0]));
30+
return topK;
31+
};

0 commit comments

Comments
 (0)