PS/백준
백준 / 문자열 / 5525번 / IOIOI / JS
문제 간단설명N+1개의 I와 N개의 O로 이루어져 있으면, I와 O가 교대로 나오는 문자열을 P_N이라고 한다.I와 O로만 이루어진 문자열 S와 정수 N이 주어졌을 때, S안에 P_N이 몇 군데 포함되어 있는지 구하는 프로그램을 작성하시오. 제한 사항1 2N+1 S는 I와 O로만 이루어져 있다. 성공 코드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) ..
백준 / 구현 / 5430번 / AC / JS
문제 간단설명숫자 배열이 주어진다. 명령어는 R과 D가 주어지는데 R은 배열 뒤집기, D는 배열의 맨 앞에서 하나를 제거하는 것이다. 제한 사항T 1 0 1 p.length + n 실패 코드 (메모리 초과)더보기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..
백준 / 그래프 / 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..
백준 / 재귀 / 12919번 / A와 B 2 / JS
문제 간단설명문자열 S와 T가 주어진다.S는 다음 두가지 방법으로만 T를 만들어야 한다.문자열의 뒤에 A를 추가한다.문자열의 뒤에 B를 추가하고 문자열을 뒤집는다.만약 S를 T로 만들 수 있으면 1, 아니라면 0을 출력하는 문제이다. 제한 사항1 2 S의 길이 실패 코드 (시간 초과)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().tri..
백준 / 그래프 / 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..