반응형
▷ 문제 : 그래프 - 가장 먼 노드 LV.3
▷ 해결 날짜 : 2022.04.12
▷ 소요 시간 : 30분
▷ 풀이 과정 :
그래프 모양이 주어지고, 1번 노드부터 시작해서 가장 멀리 떨어진 노드의 개수를 구하는 문제이다.
그래프를 우선 그리고, 방문 체크 겸 거리를 저장할 배열을 만들어두고 탐색을 구현하였다.
▷ 구현
function solution(n, edge) {
const graph = Array.from(Array(n + 1), () => []);
for (const [from, to] of edge){
graph[from].push(to);
graph[to].push(from);
}
const distance = Array(n + 1).fill(0).fill(1, 0, 2);
const needVisit = [1];
while(needVisit.length){
const cur = needVisit.shift();
for(const node of graph[cur]){
if(!distance[node]){
distance[node] = distance[cur] + 1;
needVisit.push(node);
}
}
}
const max = Math.max(...distance);
return distance.filter(e => e == max).length;
}
▷ 복기 :
뭔가 그래프 관련해서는 응용력이 좀 떨어지는것같다.
반응형
댓글