📌문제
https://programmers.co.kr/learn/courses/30/lessons/42626
🎖️난이도
Level 2
✔️풀이
# sol) heapq 이용
import heapq
def solution(scoville, K):
cnt = 0
heapq.heapify(scoville)
'''
s_list = []
for s in scoville:
heapq.heappush(s_list, s)
'''
while 1:
if len(scoville) == 1 and scoville[0] < K :
return -1
if scoville[0] >= K:
return cnt
else:
cnt += 1
heapq.heappush(scoville, heapq.heappop(scoville) + heapq.heappop(scoville) * 2)
# 오답 (정확성 통과, 효율성 테스트에서는 시간 초과 ==> heap 쓰기)
def solution(scoville, K):
cnt = 0
scoville.sort()
while 1:
if len(scoville) == 1 and scoville[0] < K :
return -1
if scoville[0] >= K:
return cnt
else:
cnt += 1
scoville.append(scoville.pop(0) + scoville.pop(0) * 2)
scoville.sort()