|
์ฝ๋ ์์ฑํ๊ธฐ
import heapq
def solution(scoville, K):
answer = 0
heap=[]
for i in scoville:
heapq.heappush(heap,i)
while heap[0]<K:
if len(heap)==1:
return -1
sco=0
sco += heapq.heappop(heap)
sco += 2 * heapq.heappop(heap)
heapq.heappush(heap, sco)
answer += 1
return answer
print(solution([0, 0, 3, 9, 10, 12], 7000))
Python
๋ณต์ฌ
|
์ฝ๋ ์ค๋ช
ํ๊ธฐ
์ ์ ํ์ด๋ณธ ๋ฌธ์ ์ฌ์ ๋ค์ ํธ๋๋ฐ ์ค๋ ๊ฑธ๋ฆฌ์ง ์์๋ค!
์ฐ์ ๊ณ์ ์ค์ฝ๋น ์ง์๊ฐ ๊ฐ์ฅ ๋ฎ์ ๋๊ฐ์ ์์์ ๋ฝ์์ผ ํ๊ธฐ ๋๋ฌธ์ ์ฐ์ ์์ ํ๋ฅผ ์ฌ์ฉํ๋ค.
1.
์ฐ์ ์์ ํ๋ฅผ ์ ์ธํ๋ค.
2.
์ฃผ์ด์ง ๋ฐฐ์ด์ ์ฐ์ ์์ ํ์ ์ฝ์
ํ๋ค.
3.
์ฐ์ ์์ ํ์ ๊ฐ์ฅ ์์ ์์๊ฐ K์ด์์ด ๋ ๋๊น์ง ๋ฐ๋ณต๋ฌธ์ ๋๋ฉด์ ๋ค์ ๊ณผ์ ์ ์ํํ๋ค.
a.
ํ์ ๋ค์ด์๋ ์์์ด 2๊ฐ๋ณด๋ค ์๋ค๋ฉด -1 returnํ๋ค.
b.
๊ฐ์ฅ ์์ ์์ 2๊ฐ๋ฅผ ๋ฝ์ ์ค์ฝ๋น ์ง์๋ฅผ ๊ณ์ฐํ๋ค.
c.
๊ณ์ฐํ ๊ฐ์ ์ฐ์ ์์ ํ์ ์ฝ์
ํ๋ค.
d.
answer += 1์ ํด์ค๋ค.