기본 플로이드 워셜 (Floyd - Warshall)알고리즘 구현 능력을 묻는 문제이다.
한 가지 주의할 점은 동일 경로 간에 여러 버스가 존재할 수 있다고 했으니, m개의 간선들에 대한 정보를 distance 2차원 배열에 저장할 때
해당 경로를 지나갈 때의 최솟값을 배열에 저장할 수 있도록 해야한다 ( 16 ~ 17 째 줄)
그 이외에는 기본 플로이드 워셜 알고리즘대로 n개의 노드를 지나쳐가는 경우에 따라 최단경로 갱신을 진행해준다 ( 20 ~ 30 째 줄)
33 ~ 마지막 줄은 3중 for문( floyd )를 돌며 구한 최단경로를 문제에서 제시한 조건대로 출력해주는 과정이다.
백준 2252: 줄 세우기 (Swift) (0) | 2022.05.23 |
---|---|
백준 1197: 최소 스패닝 트리 (Swift) (0) | 2022.05.23 |
백준 2805: 나무 자르기 (Swift) (0) | 2022.05.21 |
백준 2606: 바이러스 (Swift) (0) | 2022.05.21 |
백준 2667: 단지 번호 붙이기 (Swift) (0) | 2022.05.21 |