Given a non-empty array of integers, return the k most frequent elements.
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 값들의 리스트