Spring
[python] 더 맵게
_tera_
2021. 9. 17. 02:44
https://programmers.co.kr/learn/courses/30/lessons/42626
코딩테스트 연습 - 더 맵게
매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같
programmers.co.kr
from heapq import *
def solution(scoville, K):
answer = 0
heapify(scoville)
while scoville[0] < K and len(scoville) > 1:
mi1 = heappop(scoville)
mi2 = heappop(scoville)
heappush(scoville, mi1 + mi2 * 2)
answer += 1
return answer if scoville[0] >= K else -1
heapq를 이용해 푸는 문제로
heapq는 heapify, heappop, heappush 메서드 사용 때마다 자동적으로 정렬을 수행한다.
항상 0 인덱스 자리에 가장 작은 수가 오게 되며, heappop() 수행시 가장 작은 수를 pop한다.