06.23에 푼 문제입니다.🌷
네트워크
DFS를 이용한 문제이다. visited로 이미 지나온 노드인지 확인한다.
처음 노드를 시작할 때 네트워크를 하나 추가한다.
function solution(n, computers) {
var answer = 0;
let visited = []
for(let i=0;i<n;i++)
visited.push(0)
function dfs(num){
if(visited[num]===1) return
visited[num]=1
for(let i=0;i<n;i++){
if(i!==num&&computers[num][i]===1){
dfs(i)
}
}
}
for(let i=0;i<n;i++){
if(visited[i]!==1){
answer++
dfs(i)
}
}
return answer;
}