본문 바로가기
Coding Test/LeetCode

[LeetCode] 347. Top K Frequent Elements [Python(파이썬)]

'파이썬 알고리즘 인터뷰'를 보고 작성한 글입니다. 😀

문제 👉 <Top K Frequent Elements - LeetCode>

1. 문제 (상위 K 빈도 요소)

k번 이상 등장하는 요소를 추출하라.

2. 풀이

  • 해시Counter를 이용한 풀이
  • zip()Counter를 이용한 풀이

3. 코드

  • 해시Counter를 이용한 풀이
from collections import Counter
class Solution:
    def topKFrequent(self, nums: List[int], k: int) -> List[int]:
        ret = []
        cnt = Counter(nums).most_common(k)
        for i in range(k):
            ret.append(cnt[i][0])
        return ret
  • zip()Counter를 이용한 풀이
from collections import Counter
class Solution:
    def topKFrequent(self, nums: List[int], k: int) -> List[int]:
        return list(zip(*Counter(nums).most_common(k)))[0]
  • 결과 :
방식 Status Runtime Memory Language
해시와 Counter [Accepted] 108 ms 18.7 MB python3
zip()와 Counter [Accepted] 104 ms 18.5 MB Python3


References


🏋🏻 개인적으로 공부한 내용을 기록하고 있습니다.
잘못된 부분이 있다면 과감하게 지적해주세요!! 🏋

댓글