


일단 스터디에서 푼 문제를 참고해서 풀긴 풀었다!!
class Solution:
def topKFrequent(self, words: List[str], k: int) -> List[str]:
count = {}
for word in words:
count[word] = 1+count.get(word,0)
#word키가 count{}에 존재할때 : count[word] = 1+ count의 str키를 가진 value 반환
#word키가 count{}에 존재하지 않을때 : count[word] = 1+0
heap = []
for str in count.keys():
heapq.heappush(heap, (-count[str],str))
res = []
for i in range(k):
res.append(heapq.heappop(heap)[1])
return res
그냥 내 식대로? 편하게 풀이를 해보자면
1. count라는 이름의 딕셔너리를 만듦. 여기에 (단어 : 빈도수)를 가진 딕셔너리를 만들거임.
2. 주어진 words리스트를 for문 돌려서 키 값인 단어에 value값(빈도수)을 1+count.get(word,0)으로 지정함.
dict.get(key, default_value) 이게 기본 문법이고, 그냥 key값의 value를 반환하는것임. 만약에 key가 dictionary에 없다면 default value를 반환하는것임.range(k)= 숫자 k를 반복 가능한 범위로 변환하는 것)