
function solution(n, edge) {
var queue=[[1,0]];
const oob= new Array(n+1).fill().map(_ => []);
for(var i=0; i<edge.length; i++){
var [start,end]=edge[i];
oob[start].push(end);
oob[end].push(start);
}
var check_edge=Array.from({length:n+1}).fill(0);
check_edge[1]=1;
var max_distance=Array.from({length:n+1}).fill(0);;
while(queue.length>0){
var [queue_start,distance]=queue.shift();
max_distance[queue_start]=distance;
for(let neihbor of oob[queue_start]){
if(check_edge[neihbor]==0){
check_edge[neihbor]=1;
queue.push([neihbor,distance+1]);
}
}
}
var maxx_distance= Math.max(... max_distance );
max_distance= max_distance.filter((el)=> el==maxx_distance);
return max_distance.length
}
obj key:value 형식으로 안해도 이런식으로 채울수 있구나를 알려준다.