Mini
프로그래머스 가장먼 노드 // 자바에서 인접리스트, bfs 하는법 본문
https://school.programmers.co.kr/learn/courses/30/lessons/49189?language=java\
import java.util.*;
class Solution {
static ArrayList<ArrayList<Integer>> adj = new ArrayList<>();
static int[] vis = new int[20004];
static int n;
public int solution(int _n, int[][] edge) {
n=_n;
for(int i=0;i<20004;++i){
adj.add(new ArrayList<>());
}
for(int i=0;i<edge.length;++i){
int a = edge[i][0];
int b = edge[i][1];
a--;
b--;
adj.get(a).add(b);
adj.get(b).add(a);
}
int answer = 0;
Queue<Integer> q = new LinkedList<>();
q.add(0);
vis[0]=1;
int mx=0;
while(q.size()!=0){
int cur = q.peek();
q.poll();
for(int nxt : adj.get(cur)){
if(vis[nxt]>0) continue;
q.add(nxt);
vis[nxt] = vis[cur]+1;
mx=Math.max(mx,vis[nxt]);
}
}
for(int i=0;i<n;++i){
if(mx==vis[i]) answer++;
}
return answer;
}
}
'Java' 카테고리의 다른 글
Java sout 테스트하는 방법 (0) | 2023.11.12 |
---|---|
우테코 xml 적용방법 (0) | 2023.11.11 |