YeJin's Footsteps

네트워크 본문

Computer Science & Engineering/알고리즘

네트워크

YeJinii 2021. 7. 8. 00:44

문제 링크

https://programmers.co.kr/learn/courses/30/lessons/43162

 

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

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

programmers.co.kr

 

문제 풀이 코드

#include <string>
#include <vector>

using namespace std;

bool visited[201];

void dfs(int n, vector<vector<int>> computers){
    visited[n]=true;
    for(int i=0; i<computers.size(); i++){
        if(n==i) continue;
        else if(computers[n][i]){
            if(!visited[i]) dfs(i,computers);
            else continue;
        }
    }
    return;
}
int solution(int n, vector<vector<int>> computers) {
    
    int answer = 0;
    
    for(int i=0; i<n; i++){
        if(!visited[i]){
            answer++;
            dfs(i, computers);
        } 
        else continue;
    }
    
    return answer;
}

Solution 함수에서 dfs 함수를 반복문을 통해 호출하는데, 이부분 때문에 1시간을 날렸다. XX..

이유는 dfs(i, computers)가 아닌 dfs(0, computers)를 반복해서 호출했기 때문이다...

멍청이......

'Computer Science & Engineering > 알고리즘' 카테고리의 다른 글

순위  (0) 2021.07.09
가장 먼 노드  (0) 2021.07.08
등굣길  (0) 2021.07.07
타켓 넘버  (0) 2021.07.07
정수 삼각형  (0) 2021.07.07
Comments