728x90
반응형
문제 출처: https://school.programmers.co.kr/learn/courses/30/lessons/17684
풀이:
def solution(scoville, K):
sorted(scoville)
count = 0
while min(scoville) < int(K):
if scoville[0] < int(K) :
x = scoville.pop(0)
y = scoville.pop(0)
scoville.insert(0, x + (2*y))
count += 1
return count
맞는 풀이 같지만 시간, 메모리 부족
힙을 사용했지만 조금 틀림
import heapq
def solution(scoville, K):
count = 0
heapq.heapify(scoville)
while scoville[0] < K :
heapq.heappush(scoville, heapq.heappop(scoville) + (heapq.heappop(scoville)*2))
count += 1
return -1 if len(scoville) == 1 or scoville[0] < K else count
import heapq
def solution(scoville, K):
count = 0
heapq.heapify(scoville)
while scoville[0] < K :
heapq.heappush(scoville, heapq.heappop(scoville) + (heapq.heappop(scoville)*2))
count += 1
if len(scoville) == 1 and scoville[0] < K :
return -1
return count
or 가 아니라 and 였고
-1 경우를 while 문 안에 넣었어야함
반응형
댓글