문제

이 문제는 scoville 리스트를 heap 으로 만들어 준 후 최소힙 상태에서 pop 을 진행해 가며 mix 된 음식을 구하고 다시 pop을 하는 방식으로 구현해주면 되는 문제이다.
이때 모든음식의 스코빌 지수를 K이상으로 만들 수 없는 경우에는 예외 처리를 해주어야 한다
나의 코드
import heapq
def solution(scoville, K):
answer = 0
heapq.heapify(scoville)
#가장 스코빌지수가 낮은 음식이 k보다 작을 동안
while(scoville[0]<K):
mix = heapq.heappop(scoville) + (heapq.heappop(scoville)*2)
heapq.heappush(scoville,mix)
answer += 1
#모든음식의 스코빌 지수를 K이상으로 만들 수 없는 경우 예외 처리
if len(scoville) == 1 and scoville[0] < K :
return -1
return answer'코딩테스트 > 프로그래머스' 카테고리의 다른 글
| [프로그래머스] 아이템 줍기 -python (0) | 2024.08.06 |
|---|---|
| [프로그래머스] 단어변환 - python 파이썬 (2) | 2024.08.01 |
| [프로그래머스] N으로 표현 -python 파이썬 (1) | 2024.07.25 |
| [프로그래머스] 디스크 컨트롤러 - python 파이썬 (0) | 2024.07.24 |
| [프로그래머스]이중우선순위 큐 - python 파이썬 (5) | 2024.07.22 |