CodingTest/Programmers
[Programmers] 네트워크
창브로
2025. 4. 21. 21:04
[문제 링크]
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;
}
}
[회고]
쉬웠습니다.
질문과 피드백은 언제나 환영입니다.
감사합니다.