문제
https://school.programmers.co.kr/learn/courses/30/lessons/43162
코드
function solution(n, computers) {
var network = 0;
const visited = new Array(n).fill(false);
function DFS(index) {
visited[index] = true; // 방문 처리
for (let i = 0; i < n; i++) {
// 기준이 되는 인덱스와 연결되어 있고, 방문한 적이 없는 노드라면
if (computers[index][i] === 1 && !visited[i]) {
DFS(i); // 깊이우선
}
}
}
for (let i = 0; i < n; i++) {
if (!visited[i]) {
DFS(i);
network++;
}
}
return network;
}
💡 What I Learned
반드시 방문 처리를 해주어야 함!
'Algorithm > Programmers' 카테고리의 다른 글
[Lv.3] 기지국 설치 - JavaScript (0) | 2023.03.06 |
---|---|
[Lv.2] 최솟값 만들기 - JavaScript (0) | 2023.03.05 |
[Lv.3] 최고의 집합 - JavaScript (0) | 2023.02.27 |
[Lv.2] 올바른 괄호 - JavaScript (0) | 2023.02.26 |
[Lv.2] JadenCase 문자열 만들기 - JavaScript (0) | 2023.02.26 |
댓글