Search

ํ—ˆ์ง„ํ˜

2.๋ฌธ์ œ์ด๋ฆ„
3. ์ˆ˜ํ–‰์‹œ๊ฐ„[์ดˆ(s)]
1521
์ข‹์•„์š” ๋ˆ„๋ฅด๊ธฐ
์ข‹์•„์š” ์ˆ˜
: 0
5 more properties
| ์ฝ”๋“œ ์ž‘์„ฑํ•˜๊ธฐ
import heapq def solution(scoville, K): answer = 0 heap = [] for i in scoville: heapq.heappush(heap, i) # print(heap) while heap[0] < K: if len(heap) == 1: return -1 a = heapq.heappop(heap) b = heapq.heappop(heap) hot = a + 2*b heapq.heappush(heap, hot) # print(f"a={a}, b={b}, hot={hot}, heap={heap}") answer += 1 return answer
Python
๋ณต์‚ฌ
| ์ฝ”๋“œ ์„ค๋ช…ํ•˜๊ธฐ
heap์€ ์šฐ์„ ์ˆœ์œ„ ํ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ๋‹ค.
1.
์šฐ์„ ์ˆœ์œ„ ํ ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ํ™œ์šฉํ•œ heap ๋ฆฌ์ŠคํŠธ๋ฅผ ๋งŒ๋“ ๋‹ค.
2.
๋ชจ๋“  ์Šค์ฝ”๋นŒ ์ง€์ˆ˜๊ฐ€ K๋ฅผ ๋„˜์ง€ ์•Š์œผ๋ฉด(heap์˜ ๊ธธ์ด๊ฐ€ 1์ผ๋•Œ) -1์ผ ๋ฐ˜ํ™˜
3.
์ œ์ผ ์ž‘์€ ์ˆ˜ a, ๊ทธ๋‹ค์Œ ์ž‘์€ ์ˆ˜ b๋ฅผ ์ง€์ •ํ•˜์—ฌ ์„ž์€ ์Œ์‹์˜ ์Šค์ฝ”๋นŒ ์ง€์ˆ˜ hot ๋ณ€์ˆ˜๋ฅผ ๋งŒ๋“ ๋‹ค.
4.
hot์„ heap์— ๋„ฃ๋Š”๋‹ค.
5.
๊ฐœ์ˆ˜ 1์„ ์ถ”๊ฐ€ํ•œ๋‹ค.