티스토리 뷰
programmers.co.kr/learn/courses/30/lessons/43162
class Solution {
public int solution(int n, int[][] computers) {
int answer = 0;
boolean[] visited = new boolean[n];
for(int i=0; i<n; i++) {
visited[i] = false; // 모두 방문하지 않은 곳으로 셋팅
}
for(int i=0; i<n; i++) {
if(!visited[i]) {
dfs(computers, visited, i);
answer++;
}
}
return answer;
}
public void dfs(int[][] computers, boolean[] visited, int index) {
visited[index] = true; // 방문
for(int i=0; i<computers.length; i++) {
// 아직 방문하지 않음, 연결된 곳, 자신 제외
if(!visited[i] && computers[index][i] == 1 && index != i)
dfs(computers, visited, i);
}
}
}
'ALGORITHM' 카테고리의 다른 글
[JAVA] [프로그래머스] Level 2 - DFS/BFS - 타겟 넘버 (0) | 2020.10.19 |
---|---|
[JAVA] [프로그래머스] 2019 카카오 개발자 겨울 인턴십 - 크레인 인형뽑기 게임 (0) | 2020.10.18 |
[JAVA] [프로그래머스] 월간 코드 챌린지 시즌1 - 두 개 뽑아서 더하기 (0) | 2020.10.08 |
[JAVA] [프로그래머스] 2019 KAKAO BLIND RECRUITMENT - 실패율 (0) | 2020.09.27 |
[JAVA] [프로그래머스] 2018 KAKAO BLIND RECRUITMENT 1차 - 비밀지도 (0) | 2020.09.27 |