function solution(n, wires) {
var answer = Number.MAX_SAFE_INTEGER;
// 그래프 만들기
let tree= Array.from(Array(n+1),()=>[] );
wires.map((element)=>{
let [a,b]=element;
tree[a].push(b);
tree[b].push(a);
})
// BFS로 송전탑 개수 세기(parameter:루트,끊을 부분)
const searchTree=(root, excludeNumber)=>{
let count=0;
let visit=[];
let queue=[root];
visit[root]=true;
while(queue.length>0){
let index = queue.pop();
tree[index].forEach((el)=>{
if (el!==excludeNumber&&visit[el]!==true){
visit[el]=true;
queue.push(el);
}
})
count+=1;
}
return count;
}
wires.forEach((el) => {
let [a, b] = el;
answer = Math.min(answer, Math.abs(searchTree(a, b) - searchTree(b, a)));
});
return answer;
}
내 코드 설명