|
์ฝ๋ ์์ฑํ๊ธฐ
package Programmers.๊ณ ๋์ ํท.DFS_BFS;
public class Programmers_43162 {
public int solution(int n, int[][] computers) {
int answer = 0;
boolean[] visited = new boolean[n]; // n ๊ฐฏ์๋งํผ boolean ๋ฐฐ์ด์ ๋ง๋ค๊ณ ๋ชจ๋ ์์๋ฅผ false๋ก ์ด๊ธฐํ
for (int i = 0; i < n; i++) {
if (!visited[i]) {
dfs(computers, i, visited);
answer++;
}
}
return answer;
}
boolean[] dfs(int[][] computers, int i, boolean[] visited) {
visited[i] = true;
for (int j = 0; j < computers.length; j++) {
if (i != j && computers[i][j] == 1 && visited[j] == false) {
visited = dfs(computers, j, visited);
}
}
return visited;
}
}
Java
๋ณต์ฌ
|
์ฝ๋ ์ค๋ช
ํ๊ธฐ
โข
DFS ์ฌ์ฉ
โฆ
์ต๋จ ๊ฒฝ๋ก๋ฅผ ๊ตฌํ๋ ๋ฌธ์ ๊ฐ ์๋๊ธฐ ๋๋ฌธ์ DFS์ BFS์ ํจ์จ ์ฐจ์ด๊ฐ ๋ณ๋ก ์์ ๊ฒ
โฆ
ํ์์ BFS ๋ก์ง์ ๋ง์ด ์ฌ์ฉํด์ DFS๋ฅผ ์ฌ์ฉํจ
โข
๊ตฌํ ์ฝ๋๋ ํ์คํ DFS๊ฐ ์งง์ง๋ง ์ฌ๊ท๋ก ์ธํ ๊ณต๊ฐ๋ณต์ก๋๋ฅผ ๊ณ ๋ คํ๋ฉด ๊น๋ํด๋ณด์ด์ง ์๋ค.