[LeetCode] 692. Top K Frequent Words

원숭2·2022년 2월 15일
0

LeetCode

목록 보기
49/51

문제

풀이

  1. Counter의 most_common함수를 통해 빈도의 내림차순으로 정렬함.
  2. 이를 map함수와 lambda식, sorted 함수를 사용하여 빈도순으로 정렬하되 동일한 빈도일 시 사전 순으로 정렬함.
  3. list slicing을 이용해 최빈값부터 k번째까지 return함.

코드

from collections import Counter

class Solution:
    def topKFrequent(self, words: List[str], k: int) -> List[str] : 
        return list(map(lambda x : x[0], sorted(Counter(words).most_common(), key = lambda x : (-x[1], x[0]))))[:k]  

0개의 댓글