프로그래머스 네트워크
본문 바로가기
알고리즘 모음집/New 알고리즘

프로그래머스 네트워크

by KyeongMin 2020. 7. 16.
728x90
반응형

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

 

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

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

programmers.co.kr

#include <string>
#include <vector>
#include<iostream>
using namespace std;
#define COM_SIZE  201
int visit[COM_SIZE];
void dfs(int n,int idx, vector<vector<int>> com) {
	for (int i = 0; i < n; i++) {
		if (visit[i] == 0 && com[idx][i] == 1) {
			visit[i] = 1;
			dfs(n, i, com);
		}
	}
}
int solution(int n, vector<vector<int>> computers) {
	int answer = 0;
	for (int i = 0; i < n; i++) {
		if (visit[i] == 0) {
			visit[i] = 1;
			answer++;
			dfs(n, i,computers);
		}
	}
	return answer;
}
int main(void) {
	cout << solution(3, {{1, 1, 0}, { 1, 1, 0}, { 0, 0, 1 }});
	return 0;
}

그래프의 일종인데  0번부터 시작해서 n-1까지 탐색을 진행해서 그것이 몇개 인지만 세면 됩니다.

어렵지는 않은데 처음에는 헷갈릴수 있어요 그러지 참고 하세요 

 

728x90
반응형

'알고리즘 모음집 > New 알고리즘' 카테고리의 다른 글

프로그래머스 여행 경로  (0) 2020.07.17
프로그래머스 단어변환  (0) 2020.07.16
프로그래머스 타겟넘버  (0) 2020.07.16
17135 캐슬디펜스  (0) 2020.07.16
9944 NxM 보드 완주하기  (0) 2020.07.16

댓글