[노드JS/알고리즘] 백준 - 1063번 킹
알고리즘/백준 2022. 6. 30. 22:19

[문제] 1063번: 킹 8*8크기의 체스판에 왕이 하나 있다. 킹의 현재 위치가 주어진다. 체스판에서 말의 위치는 다음과 같이 주어진다. 알파벳 하나와 숫자 하나로 이루어져 있는데, 알파벳은 열을 상징하고, 숫자는 www.acmicpc.net [코드 풀이] let [positions, ...commands] = require("fs") .readFileSync(process.platform === "linux" ? "/dev/stdin" : "input.txt") .toString() .trim() .split("\n"); // A-H열을 숫자로 라벨링 const pos = { A: 1, B: 2, C: 3, D: 4, E: 5, F: 6, G: 7, H: 8, }; // 방향 정의 const move..

[노드JS/알고리즘] 백준 - 16953번 A -> B (DFS 풀이)
알고리즘/백준 2022. 3. 13. 11:47

- 문제 16953번: A → B 첫째 줄에 A, B (1 ≤ A +v); let answer = -1; const DFS = (A, B, cnt) => { if (A === B) { answer = cnt + 1; return; } else { if (A * 2

[노드JS/알고리즘] 백준 - 1747번 소수&팰린드롬
알고리즘/백준 2022. 3. 9. 18:16

[문제] 1747번: 소수&팰린드롬 어떤 수와 그 수의 숫자 순서를 뒤집은 수가 일치하는 수를 팰린드롬이라 부른다. 예를 들어 79,197과 324,423 등이 팰린드롬 수이다. 어떤 수 N (1 ≤ N ≤ 1,000,000)이 주어졌을 때, N보다 크거나 같고, www.acmicpc.net [코드] const stdin = require("fs") .readFileSync(process.platform === "linux" ? "/dev/stdin" : "input.txt") .toString() .trim(); let N = Number(stdin); const checkPrimeNum = (n) => { if (n === 1) return false; else if (n === 2) return t..

[노드JS/알고리즘] 백준 - 1074번 Z
알고리즘/백준 2022. 2. 18. 13:11

[문제] 1074번: Z 한수는 크기가 2N × 2N인 2차원 배열을 Z모양으로 탐색하려고 한다. 예를 들어, 2×2배열을 왼쪽 위칸, 오른쪽 위칸, 왼쪽 아래칸, 오른쪽 아래칸 순서대로 방문하면 Z모양이다. N > 1인 경우, 배열을 www.acmicpc.net [코드] let [N, r, c] = ( process.platform === "linux" ? require("fs").readFileSync("/dev/stdin").toString().trim() : `4 7 7` ) .trim() .split(" ") .map((v) => +v); let res = 0; const divide = (row, col, size) => { if (row === r && col === c) { // 좌표 찾음..

[노드JS/알고리즘] 백준 - 11256번 사탕
알고리즘/백준 2022. 1. 24. 00:42

[문제] 당신은 사탕 공장의 주인이다. 날마다, 당신은 J개의 사탕을 가게에 보내기 위해 상자에 포장해야 한다. 당신은 크기가 다른 상자 N개를 가지고 있다. 당신은 편리를 위해 상자를 최소한으로 쓰려고 한다. (박스를 다 채울 필요는 없다. 일부분만 채워도 된다.) 당신이 공장에서 나오는 사탕의 개수와 각 상자의 크기를 입력받고, 상자를 최소한으로 쓸 때의 사용되는 상자 개수를 출력하는 프로그램을 작성하라. 사탕들을 포장할 공간은 충분하다는 것이 보장된다. 첫 번째 줄에는 테스트 케이스의 개수 T (1 ≤ T ≤ 10)가 주어진다. 각각의 테스트 케이스는 아래 형식을 따른다. 테스트 케이스의 첫 번째 줄에는 사탕의 개수 J와 상자의 개수 N이 주어진다. (1 ≤ J, N ≤ 1,000) 다음 N개의 줄..

[노드JS/알고리즘] 백준 - 14681번: fs 모듈 런타임 에러
알고리즘/백준 2022. 1. 12. 23:47

백준에는 자바스크립트가 없어서 항상 피하다가 이번에 도전해봤다... 우선 입력값 받는 것부터 익숙하지 않기때문에 연습이 필요하다. [문제] 흔한 수학 문제 중 하나는 주어진 점이 어느 사분면에 속하는지 알아내는 것이다. 사분면은 아래 그림처럼 1부터 4까지 번호를 갖는다. "Quadrant n"은 "제n사분면"이라는 뜻이다. 예를 들어, 좌표가 (12, 5)인 점 A는 x좌표와 y좌표가 모두 양수이므로 제1사분면에 속한다. 점 B는 x좌표가 음수이고 y좌표가 양수이므로 제2사분면에 속한다. 점의 좌표를 입력받아 그 점이 어느 사분면에 속하는지 알아내는 프로그램을 작성하시오. 단, x좌표와 y좌표는 모두 양수나 음수라고 가정한다. [코드 - 런타임 에러] const fs = require("fs"); co..