프로그래머스 - 네트워크

이서현·2021년 6월 23일
0

Algorithm

목록 보기
46/76

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;
}
profile
안녕하세요. 이서현입니다( ღ'ᴗ'ღ )

0개의 댓글