경험의 기록

문제 : programmers.co.kr/learn/courses/30/lessons/43162#

 

코딩테스트 연습 - 네트워크

네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미합니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있

programmers.co.kr

 

 

#include <vector>
using namespace std;
 
bool dfs(vector<vector<int>>& computers, int n) {
    if (!computers[n][n])    
        return false;
    computers[n][n] = 0;
    for (int i = 0; i < computers.size(); i++) {
        if (computers[n][i])    
            dfs(computers, i);
    }
    return true;
}
 
int solution(int n, vector<vector<int>> computers) {
    int answer = 0;
    for (int i = 0; i < n; i++) {
        if (computers[i][i] && dfs(computers, i))
            answer++;
    }
    return answer;
}
반응형

공유하기

facebook twitter kakaoTalk kakaostory naver band
loading