nums
는 숫자로 이루어진 배열입니다.
가장 자주 등장한 숫자를 k
개수만큼 return 해주세요.
nums = [1,1,1,2,2,3],
k = 2
return [1,2]
nums = [1]
k = 1
return [1]
숫자 중복이 몇개 인지 카운트 하여 k순위 만큼 리스트에 담아서 리턴하면 끝이 날것 같다.
def top_k(nums, k):
# 여기에 코드를 입력해주세요
dict = {}
for i in nums:
if not dict.get(i): dict[i] = 1
else: dict[i] += 1
new_dict = sorted(dict.items(), key=lambda x: x[1], reverse=True)
return [new_dict[i][0] for i in range(0, len(new_dict)) if i < k]
print(top_k([1,1,1,2,2,3], 2))