취미처럼

[프로그래머스] 네트워크 본문

Algorithm/Programmers

[프로그래머스] 네트워크

sirius 2021. 3. 15. 09:46
https://school.programmers.co.kr/learn/courses/30/lessons/43162

방문체크를 하는 visit 배열을 컴퓨터 개수 n개로 생성

각각의 컴퓨터 노드를 모두 탐색

1일때만 탐색하거나 큐에 넣어서 answer를 늘려줌

 

import java.util.*;


class Solution {

	public int solution(int n, int[][] computers) {
        int answer = 0;
        boolean[] visit = new boolean[n];
        for(int i = 0; i < n; i++) {
            if(!visit[i]) {
                dfs(computers, visit, i);
                answer++;
            }
    	}

    	return answer;
    }

    public void dfs(int[][] computers, boolean[] visit, int start) {
        visit[start] = true;
        for(int i=0; i < computers.length; i++) {
            if(!visit[i] && computers[start][i] == 1) {
            	dfs(computers, visit, i);
            }
        }
    }

}

 

 

'Algorithm > Programmers' 카테고리의 다른 글

[프로그래머스] 연속된 수의 합  (0) 2021.03.15
[프로그래머스] 옹알이  (0) 2021.03.15
[프로그래머스] 숫자의 표현  (0) 2021.03.15
[프로그래머스] 도둑질  (0) 2021.03.08
Comments