프로그래머스/LV2
[프로그래머스 Lv2,python]- 더 맵게
chyam_eun
2025. 1. 23. 22:52
https://school.programmers.co.kr/learn/courses/30/lessons/42626
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
import heapq
def solution(scoville, K):
cnt=0 # 횟수
heapq.heapify(scoville) # 리스트를 힙으로 만들기
while(scoville[0]<K and len(scoville)>1): # 제일 작은 값이 K미만이고 힙 길이가 1보다 클때
f=heapq.heappop(scoville) # 제일 작은 값 빼기
q=heapq.heappop(scoville) # 두번째로 작은값 빼기
heapq.heappush(scoville,f+q*2) # 두개 더한값 넣기
cnt+=1 # 증가시키기
if min(scoville)<K: # 최소 값이 K보다 작다면 -1 리턴
return -1
return cnt