function solution(n, computers) {
let answer = 0;
let visited = Array(n).fill(false);
const dfs = (idx) => {
visited[idx] = true; //해당 노드는 재방문하지 않음.
computers[idx].forEach((computer, index) => {
//연결되어있고, 방문하지 않았을 때
if(computer === 1 && !visited[index]) dfs(index);
})
};
computers.forEach((computer, index) => {
if(!visited[index]){
//방문하지 않은 경우에만
dfs(index);
answer++;
}
})
return answer;
}
DFS
를 이용하여 풀었다.
이걸 BFS
로 변환할 수 있나...? 우선 DFS
로는 위와 같이 풀이하면 된다.