본문 바로가기

다익스트라3

다익스트라(Dijkstra) - Python, heapq 코드import heapqimport sysdef dijkstra(graph, start): INF = float('inf') n = len(graph) distance = [INF] * n distance[start] = 0 pq = [] heapq.heappush(pq, (0, start)) # (거리, 정점) while pq: dist, now = heapq.heappop(pq) if distance[now]  과정  거리 배열 초기화: 시작 정점에서 모든 정점까지의 최단 거리를 무한(∞)으로 설정, 시작 정점의 거리는 0으로 설정우선순위 큐(Priority Queue) 사용: 시작 정점을 큐에 넣음 (우선순위 큐는 Python.. 2025. 2. 7.
택배 배송 5972번 - Python, 다익스트라(Dijkstra) 출처 : https://www.acmicpc.net/problem/5972 코드 import heapqdef dijkstra(graph, start): INF = float('inf') N = len(graph) distance = [INF] * N distance[start] = 0 pq = [] heapq.heappush(pq, (start, 0)) while pq: now, dist = heapq.heappop(pq) for neighbor, weight in graph[now]: cost = dist + weight if cost   풀이 최소 비용을 구하는 문제이기에 다익스트라를 사용했습니다. .. 2025. 2. 7.
합승 택시 요금 - JAVA, 다익스트라 알고리즘(Dijkstra Algorithm) https://school.programmers.co.kr/learn/courses/30/lessons/72413 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr   풀이 - 나의 생각전형적인 다익스트라 알고리즘에다가 비교연산 한 번이 추가 된 문제입니다. 무지와 어파치가 각자의 목적지 'A' 와 'B'에 최소한의 비용으로 가는 방법을 알기 위해서는 결국에 모든 목적지에 최소한의 비용으로 가는 방법을 알아야합니다. 그렇기에 int[] distFromStart = dijkstra(graph, n, s);int[] distFromA = dijkstra(graph,.. 2024. 5. 25.