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);
}
}
}
}