본문 바로가기
Beakjoon&프로그래머스/파이썬

[프로그래머스/파이썬] 더 맵게

by 현장 2022. 1. 23.

-코드

import heapq
def solution(scoville, K):
    answer = 0
    heapq.heapify(scoville)
    while scoville[0] < K and len(scoville) > 1:
        heapq.heappush(scoville, heapq.heappop(scoville) + heapq.heappop(scoville) * 2)
        answer += 1
    return answer if scoville[0] >= K else -1

처음에 for문을 이용해 풀었으나 시간 초과와 런타임 오류가 생겨 while문으로 바꾸고 해 봐도 해결이 안 되었습니다. 그래서 찾아보니 힙을 이용해서 푸는 것이어서 힙을 사용해 풀었으나 2개의 입출력에서 다시 런타임 오류가 나서 문제점을 찾아보니 if문 조건이 틀린 것 하나와 다른 이유는 if문이 맞았는데 이유를 찾지 못해 위치를 return에 한 번에 적으니 해결이 되었습니다.