간단한 규칙만 찾으면 된다.
1. 빈도수가 가장 큰 것들의 빈도수를 k보다 커질 때까지 반복하면 된다.
def solution(k, tangerine):
answer = 0
cnt = 0
arr = dict()
for i in tangerine:
if i in arr:
arr[i] += 1
else:
arr[i] = 1
arr = dict(sorted(arr.items(), key=lambda item: item[1], reverse=True))
for key, value in arr.items():
answer += value
cnt += 1
if answer >= k:
break
return cnt
def solution(k, tangerine):
sumk = 0
cnt = 0
arr = [0 for i in range(len(tangerine))]
for i in range(len(tangerine)):
arr[tangerine[i]-1] += 1
arr.sort(reverse=True)
while sumk < k:
sumk += arr[cnt]
cnt += 1
return cnt