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.
=> 정수 배열 Nums와 정수 k가 주어진다면 가장 빈번한 요소순으로 k개의 요소를 반환한다.
Solution
from collections import Counter
preInput = [1, 1, 1, 2, 2, 3]
pre = 2
class Solution:
def topKFrequent(self, nums, k):
mosts = Counter(nums).most_common(k)
return [key for key, _ in mosts]
sol = Solution()
print(sol.topKFrequent(preInput, pre))
📌 코드 풀이
- collections의 Counter를 가져온다.
- Counter(nums).most_common(k)로 중첩된 요소를 카운팅하고, 그중 중첩이 많이된 순으로 K개만큼 끊어서 변수에 담는다.
- dict.items()와 같은 형태로 담겨 있기 때문에 for문을 이용하여 key만 담고 반환하면 된다.
leetcode
https://leetcode.com/problems/top-k-frequent-elements/