ํฐ์คํ ๋ฆฌ ๋ทฐ
ํ๋ก๊ทธ๋๋จธ์ค: ๋ ๋งต๊ฒ
dirmathfl 2020. 9. 4. 17:52๋ฌธ์
๋ฌธ์ ํ์ด
๋ชจ๋ ์์์ ์ค์ฝ๋น ์ง์๋ฅผ 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
'๐จโ๐ป ์ฝ๋ฉํ ์คํธ > ํ๋ก๊ทธ๋๋จธ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํ๋ก๊ทธ๋๋จธ์ค: ๋์คํฌ ์ปจํธ๋กค๋ฌ (0) | 2020.10.11 |
---|---|
ํ๋ก๊ทธ๋๋จธ์ค: ๋ฑ๊ตฃ๊ธธ (0) | 2020.10.05 |
ํ๋ก๊ทธ๋๋จธ์ค: ํ๋ฆฐํฐ (0) | 2020.09.04 |
ํ๋ก๊ทธ๋๋จธ์ค: ๊ตฌ๋ช ๋ณดํธ (0) | 2020.09.03 |
ํ๋ก๊ทธ๋๋จธ์ค: ์ฃผ์๊ฐ๊ฒฉ (0) | 2020.09.03 |