반응형
https://programmers.co.kr/learn/courses/30/lessons/43162
모든 컴퓨터에서 dfs를 돌며 네트워크의 개수를 찾아주었습니다.
#include <string>
#include <vector>
using namespace std;
bool visit[200] = {false};
void dfs(int computer, vector<vector<int>>& computers) {
visit[computer] = true;
for(int i=0; i < computers[computer].size(); i++) {
if(computers[computer][i] == 1 && !visit[i]) {
dfs(i, computers);
}
}
}
int solution(int n, vector<vector<int>> computers) {
int answer = 0;
for(int i=0; i < n; i++) {
if(!visit[i]) {
dfs(i, computers);
answer++;
}
}
return answer;
}
반응형
'Algorithm' 카테고리의 다른 글
프로그래머스 : 기능개발 (0) | 2021.11.13 |
---|---|
프로그래머스 : 섬 연결하기 (0) | 2021.11.13 |
프로그래머스 : 가사 검색 (0) | 2021.11.13 |
프로그래머스 : 크레인 인형뽑기 게임 (0) | 2021.11.13 |
백준 10282 : 해킹 (0) | 2021.11.13 |