heap 2

HEAP #ํž™ ์ž๋ฃŒ๊ตฌ์กฐ #heapq #Dijkstra #๋‹ค์ต์ŠคํŠธ๋ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜

ํž™์ด๋ž€?: ๋ฌด์—‡์ธ๊ฐ€๋ฅผ ์ฐจ๊ณก์ฐจ๊ณก ์Œ“์•„์˜ฌ๋ฆฐ ๋”๋ฏธ: ํ•ญ์ƒ ์ด์ง„ํŠธ๋ฆฌ ํ˜•ํƒœ: ๋ถ€๋ชจ์˜ ๊ฐ’์€ ํ•ญ์ƒ ์ž์‹์˜ ๊ฐ’๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜(์ตœ๋Œ€ ํž™) ์ž‘์•„์•ผ(์ตœ์†Œ ํž™) ํ•จ ์ตœ๋Œ€ ํž™ : ๋ถ€๋ชจ ๋…ธ๋“œ์˜ ํ‚ค ๊ฐ’์ด ์ž์‹ ๋…ธ๋“œ์˜ ํ‚ค ๊ฐ’๋ณด๋‹ค ํ•ญ์ƒ ํฐ ํž™์ตœ์†Œ ํž™ : ๋ถ€๋ชจ ๋…ธ๋“œ์˜ ํ‚ค ๊ฐ’์ด ์ž์‹ ๋…ธ๋“œ์˜ ํ‚ค ๊ฐ’๋ณด๋‹ค ํ•ญ์ƒ ์ž‘์€ ํž™ # ํŒŒ์ด์ฌ์—์„œ heap ์‚ฌ์šฉํ•˜๊ธฐ # ์ตœ์†Œ ํž™ ๊ตฌํ˜„๊ณผ heapq ๋ชจ๋“ˆ ์‚ฌ์šฉimport heapq #heapq heap = [] #list๋กœ ์ดˆ๊ธฐํ™”heapq.heappush(heap, item) #item์„ heap์— ์ถ”๊ฐ€ >> heap์— pushํ•˜๋ฉด ์ž๋™์œผ๋กœ ์ตœ์†Œํž™์˜ ํ˜•ํƒœ๋กœ ์ •๋ ฌheapq.heappop(heap) #heap์—์„œ ๊ฐ€์žฅ ์ž‘์€ ์›์†Œ๋ฅผ popheapq.heapif..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค | python] ๋””ํŽœ์Šค ๊ฒŒ์ž„

์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต > ์—ฐ์Šต๋ฌธ์ œ > ๋””ํŽœ์Šค ๊ฒŒ์ž„ ๋””ํŽœ์Šค ๊ฒŒ์ž„ Lv.2 ์ค€ํ˜ธ๋Š” ์š”์ฆ˜ ๋””ํŽœ์Šค ๊ฒŒ์ž„์— ํ‘น ๋น ์ ธ ์žˆ์Šต๋‹ˆ๋‹ค. ๋””ํŽœ์Šค ๊ฒŒ์ž„์€ ์ค€ํ˜ธ๊ฐ€ ๋ณด์œ ํ•œ ๋ณ‘์‚ฌ n๋ช…์œผ๋กœ ์—ฐ์†๋˜๋Š” ์ ์˜ ๊ณต๊ฒฉ์„ ์ˆœ์„œ๋Œ€๋กœ ๋ง‰๋Š” ๊ฒŒ์ž„์ž…๋‹ˆ๋‹ค. ๋””ํŽœ์Šค ๊ฒŒ์ž„์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ทœ์น™์œผ๋กœ ์ง„ํ–‰๋ฉ๋‹ˆ๋‹ค. - ์ค€ํ˜ธ๋Š” ์ฒ˜์Œ์— ๋ณ‘์‚ฌ n๋ช…์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. - ๋งค ๋ผ์šด๋“œ๋งˆ๋‹ค enemy[i]๋งˆ๋ฆฌ์˜ ์ ์ด ๋“ฑ์žฅํ•ฉ๋‹ˆ๋‹ค. - ๋‚จ์€ ๋ณ‘์‚ฌ ์ค‘ enemy[i]๋ช… ๋งŒํผ ์†Œ๋ชจํ•˜์—ฌ enemy[i]๋งˆ๋ฆฌ์˜ ์ ์„ ๋ง‰์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. - ์˜ˆ๋ฅผ ๋“ค์–ด ๋‚จ์€ ๋ณ‘์‚ฌ๊ฐ€ 7๋ช…์ด๊ณ , ์ ์˜ ์ˆ˜๊ฐ€ 2๋งˆ๋ฆฌ์ธ ๊ฒฝ์šฐ, ํ˜„์žฌ ๋ผ์šด๋“œ๋ฅผ ๋ง‰์œผ๋ฉด 7 - 2 = 5๋ช…์˜ ๋ณ‘์‚ฌ๊ฐ€ ๋‚จ์Šต๋‹ˆ๋‹ค. - ๋‚จ์€ ๋ณ‘์‚ฌ์˜ ์ˆ˜๋ณด๋‹ค ํ˜„์žฌ ๋ผ์šด๋“œ์˜ ์ ์˜ ์ˆ˜๊ฐ€ ๋” ๋งŽ์œผ๋ฉด ๊ฒŒ์ž„์ด ์ข…๋ฃŒ๋ฉ๋‹ˆ๋‹ค.๊ฒŒ์ž„์—๋Š” ๋ฌด์ ๊ถŒ์ด๋ผ๋Š” ์Šคํ‚ฌ์ด ์žˆ์œผ๋ฉฐ, ๋ฌด์ ๊ถŒ์„ ์‚ฌ์šฉํ•˜๋ฉด ..