- 풀이
노드1이랑 연결되어있는 노드들은 첫번째로 먼 노드들입니다.
첫번째 노드랑 연결되어 있는 (지나쳐오지 않은)노드들은 노드1이랑 두번째로 멀리 연결되어 있는 노드들입니다.
......쭉 마지막으로 연결되어 있는 노드까지 가서 개수를 구해주었습니다.
- 코드
import java.util.*;
class Solution {
public int solution(int n, int[][] edge) {
boolean[][] node = new boolean[n+1][n+1];
boolean[] check = new boolean[n+1];
for(int i = 0 ; i < edge.length; i++){
node[edge[i][0]][edge[i][1]] = true;
node[edge[i][1]][edge[i][0]] = true;
}
Queue<Integer> queue = new LinkedList<>();
int answer = 0;
queue.add(1);
while(!queue.isEmpty()) {
answer = queue.size();
for(int i = 0; i < answer; i++) {
int pre = queue.poll();
for(int next = 2; next <= n; next++){
if(check[next] || !node[pre][next]) continue;
check[next] = true;
queue.add(next);
}
}
}
return answer;
}
}
'algorithm' 카테고리의 다른 글
[BOJ/JAVA] 백준 1707번 : 이분 그래프 (0) | 2021.10.14 |
---|---|
[프로그래머스/JAVA] 위클리 챌린지 10주차 (교점에 별 만들기) (0) | 2021.10.13 |
[프로그래머스/JAVA] 위클리 챌린지 9주차 (0) | 2021.10.06 |
[프로그래머스/JAVA] 입국 심사 - Level 3 (0) | 2021.10.05 |
[프로그래머스/JAVA] 섬 연결하기 - Level 3 (0) | 2021.09.29 |