알고리즘 공부/백준 - 자바스크립트

    백준/ Silver 2 문제 , 백준 Node.js 자바스크립트 15990 , 1, 2, 3 더하기 5 [dp]

    백준/ Silver 2 문제 , 백준 Node.js 자바스크립트 15990 , 1, 2, 3 더하기 5 [dp] 문제 출처 https://www.acmicpc.net/problem/15990 15990번: 1, 2, 3 더하기 5 각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 1,000,000,009로 나눈 나머지를 출력한다. www.acmicpc.net 정답 const input = require("fs") .readFileSync("/dev/stdin") .toString() .trim() .split("\n"); const T = input.shift(); let dp = [...new Array(100001)].map(() => [0, 0, 0]); dp[1] = [1,..

    백준/ Silver 2 문제 , 백준 Node.js 자바스크립트 11048 , 이동하기 [dp]

    백준/ Silver 2 문제 , 백준 Node.js 자바스크립트 11048 , 이동하기 문제 출처 https://www.acmicpc.net/problem/11048 11048번: 이동하기 준규는 N×M 크기의 미로에 갇혀있다. 미로는 1×1크기의 방으로 나누어져 있고, 각 방에는 사탕이 놓여져 있다. 미로의 가장 왼쪽 윗 방은 (1, 1)이고, 가장 오른쪽 아랫 방은 (N, M)이다. 준규는 www.acmicpc.net 풀이 dp로 풀어야 통과하고 bfs 로 돌려보니 메모리 초과가 났다. 근데 최단거리 구하는 문제는 아니라서 bfs로 풀기는 적합하지 않다. 그냥 연습삼아 해봤음 정답 1. dp const input = require("fs") .readFileSync("/dev/stdin") .toSt..

    백준/ Gold 5 문제 , 백준 Node.js 자바스크립트 12865 , 평범한 배낭

    백준/ Gold 5 문제 , 백준 Node.js 자바스크립트 12865 , 평범한 배낭 문제 출처 https://www.acmicpc.net/problem/12865 12865번: 평범한 배낭 첫 줄에 물품의 수 N(1 ≤ N ≤ 100)과 준서가 버틸 수 있는 무게 K(1 ≤ K ≤ 100,000)가 주어진다. 두 번째 줄부터 N개의 줄에 거쳐 각 물건의 무게 W(1 ≤ W ≤ 100,000)와 해당 물건의 가치 V(0 ≤ V ≤ 1,000) www.acmicpc.net 풀이 이 풀이는 다음의 로직을 담고 있다. 1. 우선 각 물품의 무게와 가치값을 arr 배열에 담아준다. 2. 이제 각 물품이 어떤 물품들이랑 같이 담겨졌을때, 가장 최대의 가치값을 가지는지 체크를 해준다. K가 10일 때 무게가 4인..

    백준/ Silver 3 문제 , 백준 Node.js 자바스크립트 2346 , 풍선 터뜨리기

    백준/ Silver 3 문제 , 백준 Node.js 자바스크립트 2346 , 풍선 터뜨리기 문제 출처 https://www.acmicpc.net/problem/2346 2346번: 풍선 터뜨리기 1번부터 N번까지 N개의 풍선이 원형으로 놓여 있고. i번 풍선의 오른쪽에는 i+1번 풍선이 있고, 왼쪽에는 i-1번 풍선이 있다. 단, 1번 풍선의 왼쪽에 N번 풍선이 있고, N번 풍선의 오른쪽에 1번 풍선 www.acmicpc.net 풀이 파이썬으로는 rotate 함수에 인수 넣어서 그냥 돌리면 되는데 자바스크립트에는 rotate 함수가 없어서 직접 구현해보았다. 참고로 이 문제는 자바스크립트로 제출 했을때 메모리초과가 발생하여서 파이썬으로 제출하여 풀었다. 질문 게시판에서도 자바스크립트로는 메모리 초과때문에..

    백준/ Silver 3 문제 , 백준 Node.js 자바스크립트 1904 , 01타일 [dp]

    백준/ Silver 3 문제 , 백준 Node.js 자바스크립트 1904 , 01타일 [dp] 문제 출처 https://www.acmicpc.net/problem/1904 1904번: 01타일 지원이에게 2진 수열을 가르쳐 주기 위해, 지원이 아버지는 그에게 타일들을 선물해주셨다. 그리고 이 각각의 타일들은 0 또는 1이 쓰여 있는 낱장의 타일들이다. 어느 날 짓궂은 동주가 지원이 www.acmicpc.net 풀이 몇개의 패턴만 직접 파악해도 금방 규칙을 찾을 수 있다. (대신 정확히 찾아야됨) 단순 dp 문제임. 정답 const input = require("fs").readFileSync("/dev/stdin").toString().trim(); const N = Number(input); let d..

    백준/ Silver 4 문제 , 백준 Node.js 자바스크립트 15624 , 피보나치 수 7

    백준/ Silver 4 문제 , 백준 Node.js 자바스크립트 15624 , 피보나치 수 7 문제 출처 https://www.acmicpc.net/problem/15624 15624번: 피보나치 수 7 첫째 줄에 n번째 피보나치 수를 1,000,000,007으로 나눈 나머지를 출력한다. www.acmicpc.net 정답 const input = require("fs").readFileSync("/dev/stdin").toString().trim(); const T = Number(input); fib = [0, 1, 1]; for (let i = 3; i

    프로그래머스 / Level2 , 연습문제 , 최솟값 만들기 자바스크립트 , JS

    프로그래머스 / Level2 , 연습문제 , 최솟값 만들기 자바스크립트 , JS 문제 출처 https://school.programmers.co.kr/learn/courses/30/lessons/12941 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 function solution(A,B){ var answer = 0; A.sort((a,b) => a-b); B.sort((a,b) => b-a); for (let i=0; i

    백준/ Silver 4 문제 , 백준 Node.js 자바스크립트 2491 , 수열

    백준/ Silver 4 문제 , 백준 Node.js 자바스크립트 2491 , 수열 문제 출처 https://www.acmicpc.net/problem/2491 2491번: 수열 0에서부터 9까지의 숫자로 이루어진 N개의 숫자가 나열된 수열이 있다. 그 수열 안에서 연속해서 커지거나(같은 것 포함), 혹은 연속해서 작아지는(같은 것 포함) 수열 중 가장 길이가 긴 것을 찾 www.acmicpc.net 정답 1) 구현 const input = require("fs") .readFileSync("/dev/stdin") .toString() .trim() .split("\n"); const T = input[0]; const arr = input[1].split(" ").map(Number); let Max_r..