📝문제

📝알고리즘
//현재 컴퓨터를 방문하여 방문 여부를 기록
//연결된 컴퓨터를 확인해서 방문하지 않았다면 DFS수행하도록 dfs 메서드 작성
//n개의 컴퓨터와 연결 정보를 입력받아
//모든 컴퓨터를 순회하며 DFS탐색
//방문하지 않은 컴퓨터를 발견하면 네트워크 수 증가
//네트워크의 총 개수 반환
📝구현
class Solution {
private boolean[] visited;
private int[][] computers;
private void dfs(int now) {
visited[now] = true;
for (int i = 0; i < computers[now].length; i++) {
if (computers[now][i] == 1 && !visited[i]) {
dfs(i);
}
}
}
public int solution(int n, int[][] computers) {
int answer = 0;
visited = new boolean[n];
this.computers = computers;
for (int i = 0; i < n; i++) {
if (!visited[i]) {
dfs(i);
answer++;
}
}
return answer;
}
}
📌기록하고 싶은 내용
