js

    백준 / 그래프 / 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..

    Programmers / Level 2 / 리코쳇 로봇 / JS

    문제 간단설명시작 위치에서 목표 위치까지 최소 몇 번만에 도달할 수 있는지 말하는 게임이다. 말은 상, 하, 좌, 우 4방향 중 한 방향으로만 움직일 수 있으며, 게임판 맨 끝이나 장애물에 부딪힐 때까지 미끄러져 이동하는 것을 한 번의 이동으로 한다.'.' : 빈 공간'R' : 로봇의 처음 위치'D' : 장애물의 위치'G' : 목표지점 게임판은 위 4가지로 구성되어 있으며, 최소 몇 번을 이동해야 하는지 반환하면 된다. 만약 도달할 수 없다면 -1을 반환하면 된다. 제한 사항3 3 board의 원소의 길이는 모두 동일하다.'R'과 'G'는 한 번씩 등장한다. 성공 코드function solution(board) { const dr = [-1, 1, 0, 0]; const dc = [0, 0, -1, ..

    Programmers / Level 2 / 테이블 해시 함수 / JS

    문제 간단설명다음과 같은 과정을 거쳐서 해시값을 반환하면 된다.테이블의 튜플을 col 번째 컬럼의 값을 기준으로 오름차순 정렬을 하되, 만약 그 값이 동일하면 기본키의 첫 번째 컬럼의 값을 기준으로 내림차순 정렬합니다.정렬된 데이터에서 S_i를 i번째 행의 튜플에 대해 각 컬럼의 값을 i로 나눈 나머지들의 합으로 정의합니다.row_begin  제한 사항1 1 1 data[i][j]는 i + 1 번째 튜플의 j + 1 번째 컬럼의 값을 의미합니다.1 1  성공 코드function solution(data, col, row_begin, row_end) { // 1. 테이블의 튜플을 col 번째 컬럼의 값을 기준으로 오름차순 정렬을 하되, // 만약 그 값이 동일하면 기본키인 첫 번째 컬럼의 값을 기..

    Programmers / Level 2 / 무인도 여행 / JS

    문제 간단설명지도는 1 x 1 사각형들로 이루어진 직사각형 격자 형태이다. 각 칸에는 'X' 또는 1에서 9사이의 자연수가 적혀있다. 'X'는 바다를 나타내며, 숫자는 무인도를 나타낸다. 상, 하, 좌, 우로 연결되는 땅들은 하나의 무인도를 이루고, 모두 합한값은 해당 무인도에서 최대 며칠동안 머물 수 있는지를 나타낸다. 각 섬에서 최대 며칠씩 머무를 수 있는지를 배열에 오름차순으로 담아 반환하면 된다. 만약 지낼 수 있는 무인도가 없다면 -1을 배열에 담아 반환하면 된다. 제한 사항3 3 maps[i]는 'X' 또는 1과 9 사이의 자연수로 이루어진 문자열이다.지도는 직사각형 형태이다. 성공 코드function solution(maps) { const totalRow = maps.length; co..