728x90
반응형
*문제 : computers=[[1, 1, 0], [1, 1, 0], [0, 0, 1]] / n =3
1. 포인트는 해당 인덱스를 방문했는지 여부 => visited
2. 방문하지 않았으면 dfs 함수 실행 => dfs(i)
3. dfs(i) 실행 후 해당 인덱스는 visited[i] = true로 변경
4. 2차원배열의 값이 1 && 방문하지 않았다면 => dfs(i) 실행
(1) 내 풀이
function solution(n, computers) {
let answer = 0;
let visited = new Array(n).fill(false)
const dfs =(start)=>{
visited[start] =true;
for(let i = 0; i<n; i++){
if(computers[start][i] ===1 && !visited[i]){
dfs(i);
}
}
}
for(let i = 0; i<n;i++){
if(!visited[i]){
dfs(i)
answer ++
}
}
return answer
}
끝.
반응형
'코딩테스트' 카테고리의 다른 글
[프로그래머스 | javascript] 같은 숫자는 싫어 (스택) (0) | 2024.04.27 |
---|---|
[프로그래머스 | javascript] 모의고사 (완전탐색) (0) | 2024.04.21 |
[프로그래머스 | javascript] 타켓넘버 (dfs) : 재귀함수 사용 (0) | 2024.04.21 |
[프로그래머스 | javascript] 의상 (해시) (1) | 2024.04.18 |
[프로그래머스 | javascript] K번째수 (정렬) (0) | 2024.04.13 |