FLoyd- Warshall 알고리즘 (3중 for문)을 사용해 해결한 문제이다.
확실히 반복문을 돌리는 데 python은 약할 수 밖에 없는 것 같다....
문제의 테스트케이스를 보면, 본인에서 본인으로 가는 경로를 나타내는 대각선 위치에 대하여,
결과가 0일 때가 있고, 1일 때가 있음을 확인할 수 있다. + (대각선은 무조건 0이라고 문제에 명시되어있다)
이는 자기자신에서 다른 node들을 통해 자기 자신으로 돌아올 수 있는 경로가 존재하는 경우에 1로 나타냄을 눈치채야한다!!
보통 필자는 Floyd알고리즘을 구현하며 i == k, j == i or j == k인 경우 continue를 처리해주지만,
이 문제에서는 i번 노드에서 i번 노드로 가는 경우도 체크해주어야하므로 3중 for문을 full로 다 돌렸다!
2022 KAKAO BLIND RECRUITMENT: 신고 결과 받기 (Swift) (0) | 2022.06.18 |
---|---|
백준 1300: K 번째 수 (Swift) (0) | 2022.06.17 |
백준 1012: 유기농 배추 (Swift) - BFS구현 시 pop을 할까 말까? (0) | 2022.06.17 |
백준 2467: 용액 (Swift) (0) | 2022.06.17 |
카카오 2022 BLIND RECRUITMENT - 파괴되지 않은 건물 (Swift) (0) | 2022.06.11 |