목록다익스트라 (3)
라떼는말이야
https://github.com/mangbaam/CodingTest GitHub - mangbaam/CodingTest: 프로그래머스, 백준 등 코딩테스트 풀이를 기록하는 저장소입니다. 프로그래머스, 백준 등 코딩테스트 풀이를 기록하는 저장소입니다. Contribute to mangbaam/CodingTest development by creating an account on GitHub. github.com 밑의 사진을 클릭하면 문제 링크로 이동합니다 문제 문제 설명 n개의 노드가 있는 그래프가 있습니다. 각 노드는 1부터 n까지 번호가 적혀있습니다. 1번 노드에서 가장 멀리 떨어진 노드의 갯수를 구하려고 합니다. 가장 멀리 떨어진 노드란 최단경로로 이동했을 때 간선의 개수가 가장 많은 노드들을 의미..
이 글의 대상 기본적인 다익스트라 알고리즘에 대해 알고 있다고 가정하고 코틀린을 사용해서는 어떻게 다익스트라 알고리즘을 구현할 지 궁금한 사람들을 대상으로 하고 있다 0. 입출력 형태 문제마다 입력 형태나 출력 형태가 각이각색이다. 이번 글에서 소개하는 코드는 다음 형태로 작성되었다. 노드 개수, 간선 개수 입력 받기 시작 노드 입력 받기 간선 정보 입력 받기 2번에서 입력 받은 시작 노드부터 탐색 시작 노드 번호 순으로 시작 노드로부터 거리 출력 (갈 수 없는 노드는 INFINITE 출력) 1. 노드 개수, 간선 개수 입력 받기 import java.util.* fun dijkstra() { val (n, m) = readln().trim().split(" ").map { it.toInt() } // ..
문제 설명 N개의 마을로 이루어진 나라가 있습니다. 이 나라의 각 마을에는 1부터 N까지의 번호가 각각 하나씩 부여되어 있습니다. 각 마을은 양방향으로 통행할 수 있는 도로로 연결되어 있는데, 서로 다른 마을 간에 이동할 때는 이 도로를 지나야 합니다. 도로를 지날 때 걸리는 시간은 도로별로 다릅니다. 현재 1번 마을에 있는 음식점에서 각 마을로 음식 배달을 하려고 합니다. 각 마을로부터 음식 주문을 받으려고 하는데, N개의 마을 중에서 K 시간 이하로 배달이 가능한 마을에서만 주문을 받으려고 합니다. 다음은 N = 5, K = 3인 경우의 예시입니다. 위 그림에서 1번 마을에 있는 음식점은 [1, 2, 4, 5] 번 마을까지는 3 이하의 시간에 배달할 수 있습니다. 그러나 3번 마을까지는 3시간 이내로..