[Python] 1753번 최단경로

2025. 10. 15. 17:36·coding test/Baekjoon
import sys,heapq
input=sys.stdin.readline

def dijkstra(start):
    hq=[]
    heapq.heappush(hq,(0,start)) # heapq는 첫번째 요소를 기준으로 최솟값 꺼냄!!!
    dist[start]=0

    while hq:
        d,u=heapq.heappop(hq)

        if dist[u]<d:
            continue

        for v,w in edges[u]:
            nw=d+w
            if dist[v]>nw:
                dist[v]=nw
                heapq.heappush(hq,(nw,v))

#1.입력
V,E=map(int,input().split())
start=int(input())

#2.자료형 정의
INF=float('inf')
edges=[[] for _ in range(V+1)]
dist=[INF for _ in range(V+1)]

for _ in range(E):
    u,v,w=map(int,input().split())
    edges[u].append((v,w))

#3.동작 알고리즘
dijkstra(start)

#4.출력
for i in range(1,V+1):
    if dist[i]==INF:
        dist[i]='INF'
    print(dist[i])

코드를 맞기까지 정말 많이 틀렸었다.

다익스트라 개념도 다시 복습하고, 확인했는데도 계속 틀리길래 미쳐버릴 것 같아 결국 GPT햄의 도움을 받았다.

내가 했던 가장 큰 실수는 파이썬의 heapq는 첫 번째 원소를 기준으로 최소값을 꺼낸다는 것이였다.

내가 계속했던 실수는 heapq를 (노드,거리)로 저장하고 빼내고 있어서 노드 기준으로 최솟값이 정렬되었기 때문에 계속 시간 초과가 발생했던 것이다. (거리,노드)로 heapq를 짜니 바로 통과하였다. 30분 동안 고민했던 것이 너무 간단한거였어서,,, 정답을 알고나니 어이가 없었다...

수많은 시도 끝에 드디어 성공...

 

 

그리고 tmi는....

백준 계정을 새로 팠다.

새로운 계정으로 플레까지 도전해볼려고한다.

알고리즘 고수가 될테야.

'coding test > Baekjoon' 카테고리의 다른 글

[Python] 3584번 가장 가까운 공통 조상  (0) 2025.12.13
[Python] 11437번 LCA  (0) 2025.12.12
[Python] 1715번 카드 정렬하기  (2) 2025.08.30
[Python] 16236번 아기 상어  (1) 2025.07.01
[Python] 11286번 절댓값 힙  (0) 2025.05.22
'coding test/Baekjoon' 카테고리의 다른 글
  • [Python] 3584번 가장 가까운 공통 조상
  • [Python] 11437번 LCA
  • [Python] 1715번 카드 정렬하기
  • [Python] 16236번 아기 상어
wish404
wish404
자동 로그
  • wish404
    wish-log
    wish404
    • 홈
    • 태그
    • 방명록
    • github
    • 분류 전체보기 (75)
      • log (8)
        • 블로그 관리 (5)
        • 에러 모음 (2)
      • coding test (47)
        • Algorithm (4)
        • Baekjoon (34)
        • SW Expert Academy (6)
        • etc (3)
      • 프로그래밍 언어 (7)
        • JAVA (7)
      • 데이터 엔지니어링 (5)
        • Kafka (0)
        • Spark (4)
        • Airflow (1)
        • Elasticsearch (0)
      • 머신러닝&딥러닝 (3)
        • Kaggle 스터디 (3)
        • 논문 리뷰 (0)
        • MLOps (0)
      • 신입 개발자가 되기까지 (5)
        • 취준일기 (1)
        • SSAFY (2)
        • 프로젝트 (1)
        • CS 공부 (1)
  • 인기 글

  • 태그

    BFS
    벨만포드
    플로이드워샬
    heapq
    그리디
    복습해야지
    후위순회
    Dijkstra
    복습
    틀린문제
    다익스트라
    싸피
    dp
    중위순회
    dfs
    SSAFY
    전위순회
    최단 경로
    그리디 알고리즘
    dijk
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
wish404
[Python] 1753번 최단경로
상단으로

티스토리툴바