프로그래머스 Lv3 네트워크 Java

Android Chen·2021년 10월 31일
0

문제설명

https://programmers.co.kr/learn/courses/30/lessons/43162

구현방법

  • 1번부터 dfs로 탐색 진행. 방문한 노드 체크로 방문안한 노드만 dfs를 실행하고 dfs 실행할 때마다 카운트 하면 해결되는 간단한 문제. 왜 Lv3인지 모르겠음

코드

import java.util.*;
class Solution {
    static int board[][];
    static boolean visit[];
    static int cnt;
    static int num;
    public int solution(int n, int[][] computers) {
        num=n;
        visit = new boolean[n];
        board = computers;
        cnt=0;
        for(int i=0;i<n;i++){
            if(!visit[i]){
                cnt++;
                dfs(i);
            }
        }
        return cnt;
    }
    public void dfs(int start){
        visit[start] = true;
        for(int i=0;i<num;i++){
            if(!visit[i]&&board[start][i]==1){
                dfs(i);
            }
        }
    }
}
profile
https://github.com/Userz1-redd

0개의 댓글