Programming/Python
[프로그래머스] 더 맵게
왕밤빵도라에몽
2025. 4. 2. 11:39
728x90
기본 아이디어
- 힙큐
- 하라는대로 구현
import heapq
def solution(scoville, K):
heapq.heapify(scoville)
count = 0
while scoville:
first = heapq.heappop(scoville)
if first >= K:
break
if len(scoville) == 0:
return -1
new = first + heapq.heappop(scoville) * 2
heapq.heappush(scoville, new)
count += 1
return count
heapq.heapify
는 리스트를 힙으로 바꿔서 반환하는 것이 아니라, 리스트 자체를 힙으로 정렬함. (그니까 반환값 None)- 중간에
scville
을 모두 K 이상으로 만들 수 없는 경우를 예외처리 해줘야 함.
728x90