[프로그래머스 / JAVA] 가장 먼 노드

·
CS & Algorithm
문제 파악 이 문제는 1번 노드에서 시작해서 다른 모든 노드로의 최단 거리를 구한 뒤,가장 멀리 떨어진 노드가 몇 개인지 찾는 문제다. 즉, “최대 거리값”을 구하고, 그 거리값을 갖는 노드의 개수를 세어야 한다. 접근 방법 그래프는 n개의 노드와 edge로 주어진다.간선은 양방향이므로 인접 리스트로 관리한다.최단 거리를 구하기 위해 BFS(너비 우선 탐색)를 사용한다.BFS는 시작점에서부터 가까운 순으로 탐색하기 때문에, 방문 순서대로 거리를 채울 수 있다.BFS가 끝나면 dist[] 배열에 각 노드까지의 최단 거리가 기록된다.그 후 dist[]를 돌면서 최대 거리와 그 개수를 찾는다.코드 구현import java.util.*;class Solution { static int[] dist; ..