프로그래머스 네트워크 JavaScript

김건호·2021년 10월 11일
0

문제링크

function solution(n, computers) {
    var answer = 0;
    
    var visit=[];
    for(var i=0 ; i<computers.length ; ++i)
        visit.push(false);
    
    function DFS(index) {
        visit[index]=true;
        for(var i=0 ; i<computers.length ; ++i) {
            if(computers[index][i] && !visit[i])            
                DFS(i);
        }
    }
    
    for(var i=0 ; i<visit.length ; ++i) {
        if(!visit[i]) {
            DFS(i);
            ++answer;
        }
    }
    
    return answer;
}

방문 안 한 노드의 개수 = 끊긴 네트워크의 개수

방문하지 않은 노드를 시작으로 연결된 노드를 모두 방문합니다.
첫 노드에서 연결된 노드를 모두 방문했으므로, answer이 증가하며 dfs실행되는 노드는 연결이 끊긴 새로운 네트워크 노드입니다.

profile
Ken, 🔽🔽 거노밥 유튜브(house icon) 🔽🔽

0개의 댓글