[문제 링크]
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 |