문제풀이/기타
[Python/파이썬] 프로그래머스 귤 고르기
딜레이레이
2023. 1. 6. 18:52
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
코드
from collections import defaultdict
import heapq
def solution(k, tangerine):
answer = 0
# (귤사이즈 : 개수) 딕셔너리
t_num = defaultdict(int)
for t in tangerine:
t_num[t] += 1
# (-크기별 귤의 개수, 귤의 크기)를 최소힙에 담기
t_heap = []
for key,value in t_num.items():
heapq.heappush(t_heap, (-value, key))
cnt = 0
while True:
num, size = heapq.heappop(t_heap)
cnt += (-num)
answer += 1
# 개수 다 채우면 while문 탈출
if cnt >= k:
break
return answer