Skip to content

Commit 4f7a22d

Browse files
committed
Solved 237 - topKFrequent
1 parent bb37caa commit 4f7a22d

1 file changed

Lines changed: 19 additions & 0 deletions

File tree

top-k-frequent-elements/acious.kt

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
class Solution {
2+
// 시간복잡도 : O(n) : map 세팅, O(nlogn) : map value 정렬 = O(nlogn)
3+
fun topKFrequent(nums: IntArray, k: Int): IntArray {
4+
val map = mutableMapOf<Int, Int>()
5+
6+
for (num in nums) {
7+
// 더 효율적이고 가독성 좋은 getOrDefault 사용
8+
map[num] = map.getOrDefault(num, 0) + 1
9+
}
10+
11+
// 1. value를 기준으로 내림차순 정렬 후 key만 추출
12+
val sortedKeys = map.entries
13+
.sortedByDescending { it.value }
14+
.map { it.key }
15+
16+
// 2. 0부터 k개(0 until k)를 자르고 IntArray로 변환
17+
return sortedKeys.slice(0 until k).toIntArray()
18+
}
19+
}

0 commit comments

Comments
 (0)