-
[Algorithm] 프로그래머스 C++ : 네트워크Algorithm 2020. 9. 1. 16:26
https://programmers.co.kr/learn/courses/30/lessons/43162
그래프의 개수를 구하는 문제
평소 하던대로 dfs를 돌리고
dfs가 한번 다 돌아갈때마다 그래프가 1개이기 때문에
그때마다 answer를 +1 해준다
Code
#include <string> #include <vector> using namespace std; int check[200]; void dfs(int x, int n, vector<vector<int>> computers) { check[x] = 1; for(int i=0; i<n; i++) { if(check[i] == 0 && computers[x][i] == 1) { dfs(i, n, computers); } } } int solution(int n, vector<vector<int>> computers) { int answer = 0; for(int i=0; i<n; i++) { if(check[i] == 0) { dfs(i, n, computers); answer++; } } return answer; }
'Algorithm' 카테고리의 다른 글
[Algorithm] 프로그래머스 '2020 KAKAO BLIND RECRUITMENT' C++ : 문자열 압축 (0) 2020.09.02 [Algorithm] 프로그래머스 C++ : 단어 변환 (0) 2020.09.01 [Algorithm] 프로그래머스 C++ : 타겟 넘버 (0) 2020.09.01 [Algorithm] DFS(깊이 우선 탐색), BFS(너비 우선 탐색) (0) 2020.08.31 [Algorithm] 프로그래머스 C++ : 체육복 (0) 2020.08.27