반응형
프로그래머스
DFS
C++
https://programmers.co.kr/learn/courses/30/lessons/43162
#include <string>
#include <vector>
using namespace std;
vector<bool> visited;
int size;
void dfs(vector<vector<int>> computers, int num);
int solution(int n, vector<vector<int>> computers) {
int answer = 0;
size = computers.size();
visited.resize(size, false);
for(int k=0; k<size; k++) {
if(!visited[k]) {
answer++;
dfs(computers, k);
}
}
return answer;
}
void dfs(vector<vector<int>> computers, int num) {
visited[num] = true;
for(int k=0; k<size; k++) {
if(!visited[k] && computers[num][k] == 1) dfs(computers, k);
}
}
반응형
'코딩테스트 문제풀이 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 짝지어 제거하기 (0) | 2021.09.03 |
---|---|
[프로그래머스] 크레인 인형뽑기 게임 (0) | 2020.09.25 |
[프로그래머스] 멀쩡한 사각형 (0) | 2020.03.01 |
[프로그래머스] 괄호 변환 (0) | 2020.02.27 |
[프로그래머스] 가장 큰 수 (0) | 2020.02.27 |