[ 프로그래머스 ] #43162 : 네트워크 - JAVA

🔗 네트워크

class Solution {
    static boolean[] visited;
    static int[][] computer;
    static int answer=0;
    public int solution(int n, int[][] computers) {
        visited=new boolean[n];
        computer=computers;
        for(int i=0;i<n;i++){
            if(!visited[i]){// 방문 안 했으면 
                dfs(i);   // 순회 시작
                answer++;
            }
        }
        return answer;
    }
    private void dfs(int node){
        visited[node]=true; // 방문 표시
        int size=computer[node].length;
        for(int i=0;i<size;i++){
            int c=computer[node][i];
            if(
                !visited[i]&& // 방문 안 했고
                c==1 // 연결 돼 있다면
              ){
                visited[i]=true;
                dfs(i);
            }
        }

    }
}