그래프탐색

Algorithm/BOJ

[알고리즘/백준/16946] 벽 부수고 이동하기 4 (node.js) - 매번 나머지 연산 시 실패한다면?

문제https://www.acmicpc.net/problem/16946 풀이모든 1에서 BFS를 돌면 (NM)^2으로 시간초과벽 주변의 0 묶음의 개수를 더하면 이동할 수 있는 영역이다.따라서 이동 가능한 영역인 0 묶음의 개수를 세어 주변 벽인 1에 더해준다.모듈러 연산의 분배법칙을 생각하고 매번 나눠주는 경우, board 원본 배열의 벽을 증가시키다 10의 배수가 되는 경우 0이 되어 벽으로 인식하지 못하는 문제가 생기므로 유의해야 한다. 시간복잡도: O(NM)class Queue { constructor() { this.data = []; this.head = 0; this.tail = 0; } push(item) { this.data[this.tail++] = item;..

Algorithm/BOJ

[알고리즘/백준/2668] 숫자고르기(Nodejs, DFS)

문제 https://www.acmicpc.net/problem/2668 2668번: 숫자고르기 세로 두 줄, 가로로 N개의 칸으로 이루어진 표가 있다. 첫째 줄의 각 칸에는 정수 1, 2, …, N이 차례대로 들어 있고 둘째 줄의 각 칸에는 1이상 N이하인 정수가 들어 있다. 첫째 줄에서 숫자를 적절 www.acmicpc.net 풀이 const fs = require("fs"); const filePath = process.platform === "linux" ? "/dev/stdin" : "./input.txt"; let [N, ...nums] = fs .readFileSync(filePath) .toString() .trim() .split("\n") .map(Number); const answer ..

Algorithm/BOJ

[알고리즘/백준/16234] 인구이동(Nodejs, BFS)

문제 https://www.acmicpc.net/problem/16234 16234번: 인구 이동 N×N크기의 땅이 있고, 땅은 1×1개의 칸으로 나누어져 있다. 각각의 땅에는 나라가 하나씩 존재하며, r행 c열에 있는 나라에는 A[r][c]명이 살고 있다. 인접한 나라 사이에는 국경선이 존재한다. 모 www.acmicpc.net 풀이 class Queue { constructor() { this.data = []; this.head = 0; this.tail = 0; } push(item) { this.data[this.tail++] = item; } pop() { this.head++; } front() { return this.data[this.head]; } rear() { return this...

Algorithm/BOJ

[알고리즘/백준/7569] 토마토

문제 https://www.acmicpc.net/problem/7569 7569번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N과 쌓아올려지는 상자의 수를 나타내는 H가 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M ≤ 100, 2 ≤ N ≤ 100, www.acmicpc.net 풀이 class Queue { constructor() { this.data = []; this.head = 0; this.tail = 0; } push(item) { this.data[this.tail++] = item; } pop() { this.head++; } front() { return this.data[this.head]; } rear() { return ..

개발자 김비숑
'그래프탐색' 태그의 글 목록