백준/ Silver 2 문제 , 백준 Node.js 자바스크립트 5567 , 결혼식
Check Point ! ( 해당사항 ✓체크 )
1. 막힘 없이 수월하게 풀린 문제인가?
2. 1시간이내로 풀렸던 문제인가?
3. 1시간 이상 or 며칠을 두고 풀어봤더니 풀린 문제인가?
4. 시간을 써도 도무지 풀 수 없는 문제인가?
5. 솔루션을 찾아봤는가?
-------------------------------------------------------------------------------------------
난이도 체감
1. 최상
2. 상
3. 중
4. 하
<이해도>
1. 완벽히 이해
2. 다소 헷갈리는 부분들이 있음
3. 이해 못함
<덧붙일 말>
어우 JS 로 그래프 처음 풀어보니까 입력 받고 그래프 만드는 코드 짜는데도 생각보다 오래걸렸다.
아직 익숙치 않아서 그런지 문제풀기 위해 코드 정리하는 구간이 좀 오래걸리는 것 같다.
로직 자체는 BFS 돌리면 바로 풀리는 문제라 쉬웠음
문제 출처
https://www.acmicpc.net/problem/5567
정답
const input = require("fs")
.readFileSync("/dev/stdin")
.toString()
.trim()
.split("\n");
function bfs(start, cnt) {
let q = [];
q.push([start, cnt]);
while (q.length !== 0) {
let [X, Y] = q.shift();
for (let i of graph[X]) {
if (visited[i] === false && Y < 2) {
visited[i] = true;
q.push([i, Y + 1]);
result += 1;
}
}
}
return;
}
const T = +input.shift();
const m = +input.shift();
const graph = [...new Array(T + 1)].map(() => []);
const visited = [...new Array(T + 1)].fill(false);
visited[0] = true;
visited[1] = true;
let result = 0;
for (let i = 0; i < m; i++) {
let [a, b] = input.shift().split(" ").map(Number);
graph[a].push(b);
graph[b].push(a);
}
bfs(1, 0);
console.log(result);
반응형
'알고리즘 공부 > 백준 - 자바스크립트' 카테고리의 다른 글
백준/ Silver 1 문제 , 백준 Node.js 자바스크립트 24479 , 지름길 (0) | 2022.09.05 |
---|---|
백준/ Silver 2 문제 , 백준 Node.js 자바스크립트 24479 , 알고리즘 수업 - 깊이 우선 탐색 1 (0) | 2022.09.05 |
백준/ Silver 5 문제 , 백준 Node.js 자바스크립트 9037 , The candy war (0) | 2022.09.04 |
백준/ Silver 5 문제 , 백준 Node.js 자바스크립트 2303 , 숫자 게임 (0) | 2022.09.03 |
백준/ Bronze 2 문제 , 백준 Node.js 자바스크립트 5586 , JOI와 IOI (0) | 2022.09.03 |