728x90
반응형
https://school.programmers.co.kr/learn/courses/30/lessons/43162
class Solution {
int answer = 0;
boolean[] visited;
public int solution(int n, int[][] computers) {
visited = new boolean[n];
for(int i=0; i<n; i++) {
if(!visited[i]) {
dfs(i, computers);
answer++;
}
}
return answer;
}
public void dfs(int location, int[][] computers) {
// 방문 기록 표시
visited[location] = true;
// 방문한 적이 없고 연결된 컴퓨터 식별
for(int i=0; i<computers.length; i++) {
if(!visited[i] && computers[location][i] == 1) {
dfs(i, computers);
}
}
}
}
728x90
반응형
'알고리즘 > 문제 풀이 (출처: 프로그래머스)' 카테고리의 다른 글
[JAVA/DFS]단어 변환 (0) | 2024.02.24 |
---|---|
[JAVA/DFS] 여행경로 (0) | 2024.02.24 |
[JAVA/BFS] 가장 먼 노드 (0) | 2024.02.23 |
[JAVA] 과제 진행하기 (0) | 2024.02.23 |
[JAVA] 디펜스 게임 (0) | 2024.02.22 |