그래프
백준 / 그래프 / 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.칸은 서로 연결되며, 순환이 없음..
백준 / 그래프 / 1389번 / 케빈 베이컨의 6단계 법칙 / JS
문제 간단설명이 문제는 두 사람이 몇 단계 이내에 친구의 친구로 이어질 수 있는지를 나타내는 케빈 베이컨의 수를 계산하고, 케빈 베이컨의 수가 가장 작은 사람을 찾는 문제입니다. 각 사람마다 다른 모든 사람들과 최소 단계로 이어지는 경로를 구한 뒤, 그 경로의 단계 수를 모두 더하여 케빈 베이컨의 수를 계산합니다. 예를 들어, 사람 A와 B가 최소 3단계로 연결된다면, A의 케빈 베이컨 수에는 3이 포함됩니다. 모든 유저의 케빈 베이컨 수를 계산한 뒤, 그 값이 가장 작은 사람을 찾는 것이 문제의 목표입니다. 제한 사항2 1 입력 관계:입력은 각 친구 관계를 나타내며, (A, B) 형식으로 주어집니다.중복된 친구 관계가 존재할 수 있으며, 자기 자신과 친구인 관계는 없습니다.모든 사람은 친구 관계로 이어..
백준 / 그래프 / 14940번 / 쉬운 최단거리 / JS
문제 간단설명지도가 주어지면, 각 칸에서 목표지점까지의 거리를 출력하는 문제이다.오직 가로와 세로로만 움직여 갈 수 있다. 제한 사항2 2 0은 갈 수 없는 땅이고 1은 갈 수 있는 땅, 2는 목표지점이다.입력에서 2는 단 한개이다. 실패 코드 (시간초과)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() .spli..
백준 / 그래프 / 11404번 / 플로이드 / JS
문제 간단설명n(2 ≤ n ≤ 100)개의 도시가 있다. 그리고 한 도시에서 출발하여 다른 도시에 도착하는 m(1 ≤ m ≤ 100,000)개의 버스가 있다. 각 버스는 한 번 사용할 때 필요한 비용이 있다.모든 도시의 쌍 (A, B)에 대해서 도시 A에서 B로 가는데 필요한 비용의 최솟값을 구하는 프로그램을 작성하시오. 제한 사항2 1 1 시작 도시와 도착 도시를 연결하는 노선은 하나가 아닐 수 있다. 성공 코드const fs = require('fs');const filePath = process.platform === 'linux' ? '/dev/stdin' : '../input.txt';// const filePath = process.platform === 'linux' ? '/dev/stdin..