ํ‹ฐ์Šคํ† ๋ฆฌ ๋ทฐ

728x90
๋ฐ˜์‘ํ˜•

๋ฌธ์ œ

 

์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ๋” ๋งต๊ฒŒ

๋งค์šด ๊ฒƒ์„ ์ข‹์•„ํ•˜๋Š” Leo๋Š” ๋ชจ๋“  ์Œ์‹์˜ ์Šค์ฝ”๋นŒ ์ง€์ˆ˜๋ฅผ K ์ด์ƒ์œผ๋กœ ๋งŒ๋“ค๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ์Œ์‹์˜ ์Šค์ฝ”๋นŒ ์ง€์ˆ˜๋ฅผ K ์ด์ƒ์œผ๋กœ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด Leo๋Š” ์Šค์ฝ”๋นŒ ์ง€์ˆ˜๊ฐ€ ๊ฐ€์žฅ ๋‚ฎ์€ ๋‘ ๊ฐœ์˜ ์Œ์‹์„ ์•„๋ž˜์™€ ๊ฐ™๏ฟฝ๏ฟฝ

programmers.co.kr

 

๋ฌธ์ œ ํ’€์ด

 ๋ชจ๋“  ์Œ์‹์˜ ์Šค์ฝ”๋นŒ ์ง€์ˆ˜๋ฅผ K ์ด์ƒ์œผ๋กœ ๋งŒ๋“ค ๊ณ ์ž ํ•˜๋Š”๋ฐ ์ตœ์†Œ ๋ช‡ ๋ฒˆ ์Œ์‹์„ ์„ž์–ด์•ผ ํ•˜๋Š”์ง€ ๋ฐ˜ํ™˜ํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค. ์ด ๋ฌธ์ œ๋ฅผ ํ’€๊ธฐ ์œ„ํ•ด์„œ๋Š” `heapq`๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์‰ฝ๊ฒŒ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค. `heapq`๋Š” ๋ฃจํŠธ ๋…ธ๋“œ๊ฐ€ ๊ฐ€์žฅ ์ž‘์€ ๊ฐ’์„ ๊ฐ€์ง€๊ฒŒ ๋˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๋”ฐ๋ผ์„œ `heapq`๋ฅผ ์ด์šฉํ•ด ๊ฐ€์žฅ ์ž‘์€ ๊ฐ’ 2๊ฐœ๋ฅผ ๊ฐ€์ ธ์˜จ ํ›„ ๋ฌธ์ œ์˜ ์กฐ๊ฑด์— ๋งž๊ฒŒ ์Œ์‹์„ ์„ž์€ ํ›„ ๋‹ค์‹œ `heapq`์— ์‚ฝ์ž…ํ•œ๋‹ค. ์ด ๊ณผ์ •์—์„œ `heapq`๋Š” heap์˜ ์„ฑ์งˆ์„ ๋”ฐ๋ฅด๊ธฐ์— ๋งต๊ธฐ์˜ ํฌ๊ธฐ์— ๋”ฐ๋ผ ์ž๋™์œผ๋กœ ์ ์ ˆํ•œ ์œ„์น˜์— ์‚ฝ์ž…๋œ๋‹ค.

 

 ๋” ์ด์ƒ ์„ž์„ ์ˆ˜ ์—†๊ฑฐ๋‚˜, ๋ฃจํŠธ ๋…ธ๋“œ๊ฐ€ K๋ณด๋‹ค ์ž‘์„ ๋•Œ ๊นŒ์ง€ ๋ฐ˜๋ณตํ•˜๋ฉด ๋ฌธ์ œ์—์„œ ์ฐพ๊ณ ์ž ํ•˜๋Š” ๋‹ต์„ ์ฐพ์„ ์ˆ˜ ์žˆ๋‹ค.

 

 

์ฝ”๋“œ

import heapq


def solution(scoville, K):
    answer = 0
    heapq.heapify(scoville)
    while scoville[0] < K and len(scoville) > 1:
        answer += 1
        heapq.heappush(scoville, (heapq.heappop(scoville) + heapq.heappop(scoville) * 2))

    return answer if scoville[0] > K else -1
728x90
๋ฐ˜์‘ํ˜•
๋Œ“๊ธ€
๊ธ€ ๋ณด๊ด€ํ•จ
์ตœ๊ทผ์— ์˜ฌ๋ผ์˜จ ๊ธ€
์ตœ๊ทผ์— ๋‹ฌ๋ฆฐ ๋Œ“๊ธ€