프로그래머스 네트워크 문제 풀이 방법과 소스코드를 작성한다.
문제는 쉬운 문제인데, BFS / DFS 사용법을 맨날 까먹어서 헷갈릴까봐 적어놓는다.
다른 분들은 DFS로 많이 풀었던데 BFS로 풀어도 상관없다.
내일 배민테크코스 코테날이라 머리 풀겸해서 작성했다.
코테는 이전 기수에 7문제? 나왔다고 하고 난이도는 쉬운 편이라고 하는데 그래도 혹시 모르니..!
머리에 넣어놓기 ~~~~~ 까먹지말기~~~~~~
#include <string>
#include <vector>
#include <queue>
using namespace std;
bool visited[201] = {false, };
int solution(int n, vector<vector<int>> computers) {
int answer = 0;
queue<int> q;
int cur = 0;
for(int i = 0; i < n; i++){
q = queue<int>();
if(!visited[i]){
q.push(i);
answer++;
while(!q.empty()){
cur = q.front();
q.pop();
visited[cur] = true;
for(int j = 0; j < n; j++){
if(computers[cur][j] && (cur != j) && !visited[j]){
q.push(j);
}
}
}
}
}
return answer;
}
'역량강화 > 코딩테스트' 카테고리의 다른 글
[PATHFINDER] 카카오브레인 패스파인더 코딩테스트 후기(패스파인더 1기) (0) | 2021.11.24 |
---|---|
[우테코4기] 우테코 1차 코테 후기(우아한테크코스, 코딩테스트) (0) | 2021.11.06 |
[DFS/재귀] 프로그래머스 - 타겟 넘버(43165) (0) | 2021.11.06 |
[스택/큐] 프로그래머스 - 기능개발(42586) (0) | 2021.09.04 |
코딩테스트 준비 사이트와 문제유형 (0) | 2021.09.04 |
댓글