기록하는 개발자

[프로그래머스][코딩테스트 고득점 Kit][Javascript] 네트워크 본문

Algorithm

[프로그래머스][코딩테스트 고득점 Kit][Javascript] 네트워크

밍맹030 2023. 8. 13. 23:20
728x90

https://school.programmers.co.kr/learn/courses/30/lessons/43162?language=javascript# 

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

전체 코드

function solution(n, computers) {
    let answer = 0;
    let visited = Array.from({length : computers[0].length},()=>0);
    
    function dfs(now, visited){
        // 확인한 컴퓨터 표시
        visited[now]=1;
        for(let i=0; i<computers[0].length; i++){
            // 확인한 적 없는 컴퓨터이고 
            // 현재 컴퓨터와 연결되어있는 경우
            if(visited[i]==0&&computers[now][i]==1){
                dfs(i, visited);
            }
        }
    }
    for(let i=0; i<computers.length; i++){
        if(visited[i]==0){
            answer++;
            dfs(i,visited);
        }
    }
    return answer;
}
728x90