From 4118f8f7a0842de0d6138704c9d56284647a8166 Mon Sep 17 00:00:00 2001 From: nkey Date: Wed, 11 Mar 2026 12:26:35 +0900 Subject: [PATCH] =?UTF-8?q?5972-g5=20=EC=84=B1=EA=B3=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- workbook_8708/gold/5972-g5.py | 47 +++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 workbook_8708/gold/5972-g5.py diff --git a/workbook_8708/gold/5972-g5.py b/workbook_8708/gold/5972-g5.py new file mode 100644 index 0000000..85908d2 --- /dev/null +++ b/workbook_8708/gold/5972-g5.py @@ -0,0 +1,47 @@ +# 택배 배송 + +import sys +import heapq as h + +input = sys.stdin.readline + +def solution(): + n, m = map(int, input().rstrip().split()) + + g = {i+1: [] for i in range(n)} + dk = [float('inf') for _ in range(n+1)] + + for _ in range(m): + v, w, k = map(int, input().rstrip().split()) + g[v].append((k, w)) + g[w].append((k, v)) + + heap = [] + h.heappush(heap, (0, 1)) + dk[1] = 0 + while heap: + now_dist, now_v = h.heappop(heap) + + if now_dist > dk[now_v]: + continue + + for nxt_k, nxt_v in g[now_v]: + new_dist = dk[now_v]+nxt_k + if new_dist < dk[nxt_v]: + dk[nxt_v] = min(dk[nxt_v], dk[now_v]+nxt_k) + h.heappush(heap, (new_dist, nxt_v)) + + print(dk[n]) + + return + + +solution() + +""" +걸린 시간: 11:10~ + +시간 복잡도: + +해설: 다익스트라 +""" \ No newline at end of file