본문 바로가기
CodingTest/Programmers

[Programmers] 네트워크

by 창브로 2025. 4. 21.

[문제 링크]

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

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

 

[풀이 과정]

기본적인 dfs 문제였습니다.

 

[코드]

import java.util.*;

class Solution {
    boolean[] visited;
    int[][] computers;
    int n;
    
    public int solution(int n, int[][] computers) {
        visited = new boolean[n];
        int answer = 0;
        this.n = n;
        this.computers = computers;
        
        for(int i = 0; i < n; i++) {
            if(!visited[i]) {
                dfs(i);
                answer++;
            }
        }
        
        return answer;
    }
    
    public void dfs(int idx) {
        visited[idx] = true;
        
        for(int i = 0; i < n; i++) {
            if(i != idx) {
                if(computers[idx][i] == 1 && !visited[i]) {
                    dfs(i);
                }
            }
        }
        return;
    }
}

[회고]

쉬웠습니다.

 

 

 

 

질문과 피드백은 언제나 환영입니다.

감사합니다.

'CodingTest > Programmers' 카테고리의 다른 글

[Programmers] 단어 변환  (0) 2025.04.22
[Programmers] 게임 맵 최단거리  (2) 2025.04.21
[Programmers] 타겟 넘버  (0) 2025.04.21
[Programmers] 모음사전  (0) 2025.04.21
[Programmers] 전력망을 둘로 나누기  (1) 2025.04.19