๋์ ํ์ด
์ต๋ํ
heapq์์๋ ์ต๋ ํ์ ์ ๊ณตํ์ง ์๋๋ค.
๋ฐ๋ผ์ ๋ค์๊ณผ ๊ฐ์ด ๋ถํธ๋ฅผ ๋ณ๊ฒฝํ๋ ๋ฐฉ๋ฒ์ ์ฌ์ฉํด์ ์ต๋ ํ์ ๊ตฌํํ๋ค.
๋ถํธ๋ฅผ ๋ฐ๊ฟ์ ์ต์ ํ์ ๋ฃ์ด์ค ๋ค์ ์ต์๊ฐ๋ถํฐ pop์ ํด์ค ๋ ๋ค์ ๋ถํธ๋ฅผ ๋ฐ๊ฟ์ฃผ๋ฉด
์ต๋ ํ๊ณผ ๋์ผํ๋ค.
import heapq
heap = []
values = [1,5,3,2,4]
# ์๋ for๋ฌธ์ ์คํ์ํค๊ณ ๋๋ฉด heap์ [-5,-4,-3,-1,-2]๊ฐ ๋๋ค.
for value in values:
heapq.heappush(heap, -value)
# ์๋ for๋ฌธ์ ์คํ์ํค๋ฉด 5,4,3,2,1์ด ์ถ๋ ฅ๋๋ค. ์ฆ, ํฐ ์ซ์๋ถํฐ ์ถ๋ ฅ์ด ๋๋ค.
for i in range(5):
print(-heapq.heappop(heap))
'Algorithm > ํ์ด์ฌ ์ฝ๋ฉํ ์คํธ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
DFS(๊น์ด์ฐ์ ํ์)๊ธฐ์ด - 1. ์ฌ๊ทํจ์๋ฅผ ์ด์ฉํ ์ด์ง์ ์ถ๋ ฅ (0) | 2023.02.06 |
---|---|
DFS(๊น์ด์ฐ์ ํ์)๊ธฐ์ด - 0. [์ ์์ง์] ์ฌ๊ทํจ์์ ์คํ (0) | 2023.02.06 |
์๋ฃ๊ตฌ์กฐ ํ์ฉ (ํ) - 10. ์ต์ํ (0) | 2023.02.06 |
์๋ฃ๊ตฌ์กฐ ํ์ฉ (ํด์ฌ) - 9. Anagram ์๋๊ทธ๋จ (0) | 2023.02.05 |
์๋ฃ๊ตฌ์กฐ ํ์ฉ (ํด์ฌ) - 8. ๋จ์ด ์ฐพ๊ธฐ (0) | 2023.02.05 |