DS & Algorithm/baekjoon

    [백준] 25632번 소수부르기게임 - 자바스크립트

    [백준] 25632번 소수부르기게임 - 자바스크립트

    문제 25632번: 소수 부르기 게임 용태가 부를 수 있는 소수는 $11, 13, 17$이고, 유진이가 부를 수 있는 소수는 $13, 17, 19$이다. 둘 다 최선을 다해서 플레이한다면 $13 → 17 → 11 → 19$로 진행될 수 있다. 용태가 더 이상 부를 소수가 www.acmicpc.net 새로 나온 따끈따끈한 문제에,, 실버4 난이도 치고는 생각할 게 조금 있어서 가져오게 되었다. 코드 function sol(input) { const [A, B] = input[0].split(' ').map(Number); const [C, D] = input[1].split(' ').map(Number); const yt = eratosThenes(A, B); const yj = eratosThenes(C..

    [백준] 1753번 최단경로 - 자바스크립트

    [백준] 1753번 최단경로 - 자바스크립트

    문제 1753번: 최단경로 첫째 줄에 정점의 개수 V와 간선의 개수 E가 주어진다. (1 ≤ V ≤ 20,000, 1 ≤ E ≤ 300,000) 모든 정점에는 1부터 V까지 번호가 매겨져 있다고 가정한다. 둘째 줄에는 시작 정점의 번호 K(1 ≤ K ≤ V)가 www.acmicpc.net 코드 const MinHeap = (function () { function MinHeap() { this.heap = [-Infinity]; } MinHeap.prototype.size = function () { return this.heap.length - 1; }; MinHeap.prototype.push = function (val) { this.heap.push(val); this._upheap(this.si..

    [백준] 17406번 배열 돌리기 4 - 자바스크립트

    [백준] 17406번 배열 돌리기 4 - 자바스크립트

    문제 17406번: 배열 돌리기 4 크기가 N×M 크기인 배열 A가 있을때, 배열 A의 값은 각 행에 있는 모든 수의 합 중 최솟값을 의미한다. 배열 A가 아래와 같은 경우 1행의 합은 6, 2행의 합은 4, 3행의 합은 15이다. 따라서, 배열 A의 www.acmicpc.net 코드 function sol(input) { const [N, M, K] = input[0].split(' ').map(Number); let boards; let answer = Number.MAX_SAFE_INTEGER; const rotateOperations = input .slice(1 + N) .map((str) => str.split(' ').map(Number)); dfs(0, []); return answer; ..

    [백준] 13460번 구슬 탈출 2 - 자바스크립트

    [백준] 13460번 구슬 탈출 2 - 자바스크립트

    문제 13460번: 구슬 탈출 2 첫 번째 줄에는 보드의 세로, 가로 크기를 의미하는 두 정수 N, M (3 ≤ N, M ≤ 10)이 주어진다. 다음 N개의 줄에 보드의 모양을 나타내는 길이 M의 문자열이 주어진다. 이 문자열은 '.', '#', 'O', 'R', 'B' www.acmicpc.net 긴 문제와 조건을 기반으로 순서를 파악해 구현하는 구현유형이자 그래프 기반 BFS 유형이기도 하며 시뮬레이션 유형이기도 하다. 종합선물세트와도 같은 문제를 풀다가, 자그마한 실수를 개선하면서 정답이 나와서 정리하게 되었다. 자바스크립트로 코테 연습하는분들 화이팅 아무튼 여러분이 궁금한 것은 코드일테니, 가장 먼저 소개할 것은 성공을 출력해주는 코드이다. 풀이도 궁금하다면 이어서 계속 보면 되겠다. 코드 fun..

    [백준] 1541번 잃어버린 괄호 - JavaScript(NodeJS)

    문제 1541번: 잃어버린 괄호 첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다 www.acmicpc.net 코드 function sol(input) { const numbers = input.split("-").map((str) => str.split("+") .map(Number) .reduce((s, v) => s + v, 0) ); let answer = 2 * numbers[0] - numbers.reduce((s, v) => s + v, 0); return answer; } require("readline") .createInterface(proc..

    [백준] 2108번 통계학 - JavaScript(NodeJS)

    [백준] 2108번 통계학 - JavaScript(NodeJS)

    문제 2108번: 통계학 첫째 줄에 수의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 단, N은 홀수이다. 그 다음 N개의 줄에는 정수들이 주어진다. 입력되는 정수의 절댓값은 4,000을 넘지 않는다. www.acmicpc.net 코드 function sol(input) { let answer = ""; const N = +input[0]; const numbers = input .slice(1) .map(Number) .sort((a, b) => a - b); answer += `${Math.round(numbers.reduce((s, v) => s + v, 0) / N)}\n`; answer += `${numbers[Math.floor(N / 2)]}\n`; const map = new Map..