nums는 숫자로 이루어진 배열입니다.
가장 자주 등장한 숫자를 k 개수만큼 return 해주세요
nums = [1,1,1,2,2,3],
k = 2
return [1,2]
nums = [1]
k = 1
return [1]
def top_k(nums, k):
a = {}
b = []
for i in nums:
try:
a[i] += 1
except:
a[i] = 1
for j in range(k):
b.append(max(a, key=a.get))
a[max(a, key=a.get)] = 0
return b
람다를 이용하여 하는 사람들도 있었지만
풀 당시에는 몰랐던 지식이었으므로 후에 공부하였다!
우선 a 딕셔너리에 숫자와 그 숫자가 몇 번 남았는지 담았고.
k만큼 반복하여 가장큰 벨류를 가진 key값을 배열에 넣은다음 리턴해주었다!