[프로그래머스#JS] 네트워크

dongwon·2021년 2월 14일
0

문제

https://programmers.co.kr/learn/courses/30/lessons/43162

풀이

isVisited 배열을 이용해 방문했는지 안 했는지 체크 한 후, if문 안을 돌았는지 ( 연결되지 않은 노드를 탐색할 때) 카운트 +1 했습니다.

코드

function solution(n, computers) {
  let answer = 0;
  let isVisited = new Array(n).fill(false);

  for (let i = 0; i < n; i++) {
    if (!isVisited[i]) {
      isVisited[i] = true;
      dfs(n, computers, isVisited, i);
      answer++;
    }
  }

  return answer;
}

function dfs(n, computers, isVisited, index) {
  isVisited[index] = true;

  for (let i = 0; i < n; i++) {
    if (computers[index][i] === 1 && !isVisited[i]) {
      dfs(n, computers, isVisited, i);
    }
  }
}
profile
데이원컴퍼니 프론트엔드 개발자입니다.

0개의 댓글