- 문제 링크: https://leetcode.com/problems/top-k-frequent-elements/

- 난이도: Medium

 

주어진 숫자 배열에서, 가장 많이 나오는 top K개 요소들을 반환하는 문제다

{숫자: 나온 횟수} 식으로 dict 구성하고, value 기준으로 정렬하면 된다. (O(n logn))

class Solution:
    def topKFrequent(self, nums: List[int], k: int) -> List[int]:
        hist = defaultdict(int)
        for x in nums:
            hist[x] += 1
        hist = sorted(hist.items(), key=lambda x: x[1])
        return [x[0] for x in hist[-k:]]
반응형