저도 매운 음식을 참 좋아하는데요. 한 번 문제를 풀어보도록 하겠습니다.
목표 시간: 60분
마감 시간: 01:00
제출 시간: 00:40
import heapq as h
# 문제 조건 충족 검사
def check(heap,K):
for num in heap:
if num < K:
return False
return True
def solution(scoville, K):
answer = 0
heap = []
# 스코빌 지수를 힙으로 변환
for num in scoville:
h.heappush(heap,num)
# 아래 과정을 문제 조건 충족까지 반복
while True:
# 원 힙 < K = 문제 조건 충족 불가
if len(heap) == 1 and not check(heap,K):
answer = -1
break
if check(heap,K):
break
# 제일 작은, 두 번째로 작은 스코빌 추출
small = h.heappop(heap)
s_small = h.heappop(heap)
# Leo의 방식대로 음식 섞기
new_sco = small + s_small*2
# 섞을 때마다 카운트
answer += 1
# 새로운 스코빌 지수 힙에 넣기
h.heappush(heap,new_sco)
return answer