본문 바로가기

코딩테스트 연습/DP6

[백준] 14501번 퇴사 (JavaScript) https://www.acmicpc.net/problem/14501const input = require('fs') .readFileSync(process.platform === 'linux' ? '/dev/stdin' : './input.txt') .toString() .trim() .split('\n') .map((el) => el.split(' ').map(Number));let N = input.shift()[0];let dp = new Array(N).fill(0);for (let i = 0; i N) { // 퇴사 전 처리 할수 없는 일 continue; } dp[i] += p; // 상담 진행 했을 경우 얻는 수익 저장 for (let j = d + i; j  전형적인 .. 2024. 5. 2.
[백준] 2193번 이친수(JavaScript) https://www.acmicpc.net/problem/2193const input = require('fs') .readFileSync(process.platform === 'linux' ? '/dev/stdin' : './input.txt') .toString() .trim() .split('\n') .map(Number);let N = input.shift();let answer = [0, 1, 1];for (let i = 3; i  규칙을 찾기 위해 이친수를 구해보았다.N = 1 --> 1N = 2 --> 1N = 3 --> 2N = 4 --> 3N = 5 --> 5 누가봐도 피보나치 점화식이다. 따라서 90번째 까지 배열을 채워준 뒤 입력 값을 받아 출력한다.하지만 여기서 주의해야할 .. 2024. 5. 2.
[백준] 9461번 파도반 수열 (JavaScript) https://www.acmicpc.net/problem/9461const input = require('fs') .readFileSync(process.platform === 'linux' ? '/dev/stdin' : './input.txt') .toString() .trim() .split('\n') .map(Number);let N = input.shift();let answer = [1, 1, 1];for (let i = 3; i  기본적인 점화식 문제이다.다른 방법으론 5번째 전꺼와 1번째 전꺼를 더하는 방법도 있다. 2024. 5. 2.
[백준] 2579번 계단 오르기 (JavaScript) https://www.acmicpc.net/problem/2579const input = require('fs').readFileSync(process.platform === 'linux' ? '/dev/stdin' : './input.txt') .toString().trim().split('\n').map(Number);let N = input.shift();let answer = [input[0], input[0]+input[1], Math.max(input[0], input[1])+ input[2]];for(let i = 3; i  마지막 계단을 오르기 전까지의 최댓값 + 마지막 계단 값 = 총점수의 최댓값이다.마지막 계단을 오를 수 있는 경우의 수는 2가지이다.1. o o x o   2. o .. 2024. 4. 30.