문제
풀이
set 자료구조와 라이브러리 collections에서 defaultdict 혹은 Counter를 사용하면 쉽게 해결할 수 있는 해쉬 문제다.
참조 : 자주 쓰는 라이브러리
코드
from collections import defaultdict, Counter
def solution(k, tangerine):
answer = set()
# 1. defaultdict 사용
dH = defaultdict(int)
for i in tangerine:
dH[i] += 1
# 2. Counter 사용
dH = Counter(tangerine)
# 정렬하기 : 크기 종류별 갯수가 큰 순으로 정렬
dH = sorted(dH.items(), key=lambda x: x[1], reverse=True)
for t, n in dH: # t: 크기별 종류(type), n: 크기별 개수(number)
if k > 0:
k -= n
answer.add(t)
return len(answer)