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