미숙한 제 풀이는 정답이 될 수 없으며, 이것보다 효율적인 코드는 당연히 존재합니다.
참고만 하여 주시고, 관련 피드백은 항상 환영합니다. 🤍
import heapq
def solution(scoville, K):
answer = 0
heap_scoville = []
heapq.heapify(scoville)
while scoville[0] < K:
# 새로운 음식 만들기
A = scoville[0]
heapq.heappop(scoville) # 두번째로 작은 값(음식) 구하기,
# heap특성상 index1이 두번째로 작다는 보장이 없음
B = scoville[0]
temp = A + (B * 2)
# 새로 만든 스코빌 음식 추가
heapq.heappush(scoville, temp)
# 만들 때 사용한 음식 중 두번째 음식 제거
heapq.heappop(scoville)
answer = answer+1
# 모든 음식의 스코빌 지수를 K 이상으로 만들 수 없는 경우
if len(scoville) == 1 and scoville[0] < K:
answer = -1
break
return answer