bfs, dfs 문제는 항상 날 어렵게 하는 문제이다. 해당 유형의 문제에 익숙해지기 위해서는 많은 연습이 필요하다. 꾸준히 열심히 해야겠다….
public static int solution(int n, int[][] computers) { int answer = 0; // 순서대로 탐험하는데 이 때 시작점으로 방문한 노드를 제외한다. for (int i = 0; i < n; i++) { if (visited[i] == false) { dfs(i,n, computers); answer++; } } return answer; } // dfs를 통해 종단점까지 이동하면서 방문한 노드를 체크한다. public static void dfs(int start,int n, int[][] computers) { visited[start] = true; for (int i = 0; i < n; i++) { if(start == i) continue; if (computers[start][i] == 1 &&visited[i] == false) { dfs(i,n, computers); } } }
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.