[leetcode-python3] 347. Top K Frequent Elements

shsh·2020년 12월 24일
0

leetcode

목록 보기
41/161

347. Top K Frequent Elements - python3

Given a non-empty array of integers, return the k most frequent elements.

My Answer 1: Accepted (Runtime: 92 ms - 93.58% / Memory Usage: 18.5 MB - 56.62%)

class Solution:
    def topKFrequent(self, nums: List[int], k: int) -> List[int]:
        counter =  collections.Counter(nums).most_common(k)
        result = []
        for i in range(0, len(counter)):
            result.append(counter[i][0])
            
        return result

전에 collections.Counter 를 이용해서 빈도수를 구했던 걸 생각하며 다시 사용해봤다

collections.Counter 참고: https://excelsior-cjh.tistory.com/94

collections.Counter(nums).most_common(k)
=> 빈도수가 높은 순으로 상위 k 개만 저장
=> [('값', 개수)]의 형태
ex) [(1, 3), (2, 2), (3, 1)] 中 상위 2 개인 [(1, 3), (2, 2)] 만 저장

for 문 돌려서 key 값만 저장 후 반환

collections.Counter(nums).keys() 를 이용할 수도 있다고 함 => key 값들의 리스트

profile
Hello, World!

0개의 댓글

관련 채용 정보