반응형
programmers.co.kr/learn/courses/30/lessons/42626
해설
시키는대로 heap을 이용해 풀면 된다.
한번 스코빌 지수를 계산할때마다 전체 원소의 수가 하나씩 줄어드는데
이때 heap의 사이즈가 0이 되면 바로 return -1을 해주면 된다.
import heapq
def solution(scoville, K):
answer = 0
q = []
for i in scoville:
heapq.heappush(q,i)
while q[0]<K:
first = heapq.heappop(q)
if not q:
return -1
second = heapq.heappop(q)
heapq.heappush(q,first+second*2)
answer+=1
return answer
반응형
'Python > 알고리즘문제' 카테고리의 다른 글
[프로그래머스][탐욕법(그리디)] 체육복 (0) | 2021.04.01 |
---|---|
[프로그래머스][힙] 디스크 컨트롤러 (0) | 2021.03.31 |
[프로그래머스][정렬] H-Index (0) | 2021.03.25 |
[프로그래머스][정렬] 가장 큰 수 (0) | 2021.03.24 |
[프로그래머스][정렬] K번째수 (0) | 2021.03.24 |
댓글