- 발행일
99클럽 코테 스터디 5일차 TIL + 오늘의 학습 키워드: 깊이/너비 우선 탐색(DFS/BFS)
99클럽 코테 스터디 5일차 TIL + 오늘의 학습 키워드: 깊이/너비 우선 탐색(DFS/BFS)
이 글은 네이버 블로그에 2025년 3월 7일에 올렸던 것을 그대로 옮겨온 것입니다.
오늘의 회고
어떤 문제가 있었고, 나는 어떤 시도를 했는지
어떻게 해결했는지
무엇을 새롭게 알았는지
내일 학습할 것은 무엇인지
let fs = require('fs');
let input = fs.readFileSync('/dev/stdin').toString().trim().split('\n');
const [N, M, R] = input[0].split(" ").map(Number);
const arr = input.slice(1);
const graph = Array.from({ length: N + 1 }, () => []);
const visitedOrder = Array(N + 1).fill(0);
let order = 1;
for (const v of arr) {
let [a, b] = v.split(" ").map(Number);
graph[a].push(b);
graph[b].push(a);
}
for (const edges of graph) {
edges.sort((a, b) => a - b);
}
function bfs(start) {
const queue = [start];
visitedOrder[start] = order++;
while (queue.length) {
const node = queue.shift();
for (const v of graph[node]) {
if (!visitedOrder[v]) {
queue.push(v);
visitedOrder[v] = order++;
}
}
}
}
bfs(R);
console.log(visitedOrder.slice(1).join("\n"));
- 비기너: https://www.acmicpc.net/problem/29701
- 미들러: https://www.acmicpc.net/problem/24444
- 챌린저: https://www.acmicpc.net/problem/2457
필수 해시태그: #99클럽 #코딩테스트준비 #개발자취업 #항해99 #TIL
