PS

    Programmers / Level 2 / 우박수열 정적분 / JS

    문제 간단설명우박수열은 1을 만들기 위해 다음과 같은 단계를 거칩니다.1-1. 입력된 수가 짝수라면 2로 나눕니다.1-2. 입력된 수가 홀수라면 3을 곱하고 1을 더합니다.2. 결과로 나온 수가 1보다 크다면 위 작업을 반복합니다. 은지는 우박수열을 좌표 평면 위에 꺾은선 그래프로 나타내보려고 합니다.초항이 k인 우박수열이 있다면, x = 0일때 y = k이고,다음 우박수는 x = 1에 표시합니다. 이렇게 만든 꺾은선 그래프를 정적분 하려고 합니다.x에 대한 범위 [a, b]가 주어진다면,처음부터 a만큼, 끝에서 b만큼 좌표사이의 넓이를 구하면 됩니다. 예를 들어,좌표가 6개 주어졌고,[a, b]가 [1, -2]라면,x = 1부터 x = 5(배열은 0부터 시작하므로 6은 5번째이다)에서 2를 뺀 3까지의..

    Programers / Level 3 / 양과 늑대 / JS

    문제 간단설명"양과 늑대" 문제는 트리 구조에서 양과 늑대를 관리하며 최대한 많은 양을 모으는 문제입니다. 제한 사항2 info의 원소는 0 또는 1입니다.info[i]는 i번 노드에 있는 양 또는 늑대를 나타냅니다.0은 양, 1은 늑대를 의미합니다.info[0]의 값은 항상 0입니다.즉, 0번 노드(루트 노드)에는 항상 양이 있습니다.edges의 세로(행)의 길이 = info의 길이 - 1edges의 가로(열)의 길이 = 2edges의 각 행은 [부모 노드 번호, 자식 노드 번호] 형태로,서로 연결된 두 노드를 나타냅니다.동일한 간선에 대한 정보가 중복해서 주어지지 않습니다.항상 하나의 이진 트리 형태로 입력이 주어지며, 잘못도니 데이터가 주어지는 경우는 없습니다.0번 노드는 항상 루트 노드입니다. 성..

    백준 / 수학 / 11444번 / 피보나치 수 6 / JS

    문제 간단설명n이 주어졌을 때, n번째 피보나치 수를 출력하면 된다. 제한 사항 n은 1,000,000,000,000,000,000보다 작거나 같은 자연수이다.  성공 코드const fs = require('fs');const filePath = process.platform === 'linux' ? '/dev/stdin' : '../input.txt';// const filePath = process.platform === 'linux' ? '/dev/stdin' : 'BOJ/input.txt';const input = fs .readFileSync(filePath) .toString() .trim() .split('\n') .map((el) => el.trim());const n = BigI..

    백준 / 그래프 / 2206번 / 벽 부수고 이동하기 / JS

    문제 간단설명 N×M 크기의 맵이 주어집니다맵의 각 칸은 0(이동 가능) 또는 1(벽)입니다(1,1)에서 (N,M)까지 이동하려고 합니다벽을 한 번만 부술 수 있는 능력이 있습니다목표는 최단 경로의 길이를 찾는 것입니다 제한 사항1 1 (1, 1)과 (N, M)은 항상 0이다.실패 코드 (시간 초과)const fs = require('fs');const filePath = process.platform === 'linux' ? '/dev/stdin' : '../input.txt';// const filePath = process.platform === 'linux' ? '/dev/stdin' : 'BOJ/input.txt';const input = fs .readFileSync(filePath) .t..

    백준 / 그래프 / 9019번 / DSLR / JS

    문제 간단설명네 자리 숫자 A를 B로 바꾸기 위해 아래 4개의 명령어를 사용해야 합니다.D: A를 두 배로 만들고, 10000 이상이면 10000으로 나눈 나머지.S: A에서 1을 뺀 값. 0이면 9999.L: A의 왼쪽 회전. 예: 1234 → 2341.R: A의 오른쪽 회전. 예: 1234 → 4123.목표:숫자 A에서 시작해 숫자 B로 바꾸는 최소한의 명령어 나열을 구하시오. 가능한 명령어 나열이 여러가지면, 아무거나 출력한다.   제한 사항 A 와 B는 모두 0 이상 10,000 미만이다.  실패 코드 (시간 초과)const fs = require('fs');const filePath = process.platform === 'linux' ? '/dev/stdin' : '../input.txt';..

    백준 / 그래프 / 16928번 / 뱀과 사다리 게임 / JS

    문제 간단설명 게임의 규칙1번 칸에서 시작하여 100번 칸에 도달하는 것을 목표로 하는 게임.플레이어는 매턴 주사위를 굴려 1에서 6까지의 값을 얻어 앞으로 이동.특정 칸에는 사다리나 뱀이 있음:사다리: 해당 칸에 도달하면 더 높은 칸으로 이동.뱀: 해당 칸에 도달하면 더 낮은 칸으로 이동.입력첫 줄: 사다리의 수 N과 뱀의 수 M.다음 N줄: 각 줄에 사다리의 시작과 끝 x,y (항상 x다음 M줄: 각 줄에 뱀의 머리와 꼬리 u,v(항상 u>v).출력1번 칸에서 시작하여 100번 칸에 도달하기 위한 최소 이동 횟수.  제한 사항 1≤N,M≤15: 사다리와 뱀의 개수.칸 번호는 1≤x,y,u,v≤1001 \leq x, y, u, v \leq 1001≤x,y,u,v≤100.칸은 서로 연결되며, 순환이 없음..