https://www.acmicpc.net/problem/2579 2579번: 계단 오르기 계단 오르기 게임은 계단 아래 시작점부터 계단 꼭대기에 위치한 도착점까지 가는 게임이다. 과 같이 각각의 계단에는 일정한 점수가 쓰여 있는데 계단을 밟으면 그 계단에 쓰여 있는 점 www.acmicpc.net 🤔 해결방법 1. dp 배열 초기화하기 (각 요소 = i번째 계단에 오를 때까지 얻을 수 있는 최대값) 2. dp[1] = arr[1], dp[2] = arr[1] + arr[2] 로 설정하기 3. 3번째 칸부터는 dp[i - 3] + arr[i - 1] + arr[i]와 dp[i - 2] + arr[i] 이렇게 두 경우 중 최대값 넣어주기 🔑 풀이 const input = require("fs") // .r..
https://www.acmicpc.net/problem/2748 2748번: 피보나치 수 2 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가 www.acmicpc.net 🤔 해결방법 1. dp 배열 초기화 2. 0번째, 1번째 수 0, 1로 지정 3. i번째 = i-2번째 + i-1번째라는 규칙으로 for문 작성 이 때, BigInt 사용 4. 마지막 출력에서 toString사용 🔑 풀이 const input = require("fs") // .readFileSync("/dev/stdin") .readFileSync(__dirn..

https://www.acmicpc.net/problem/12847 12847번: 꿀 아르바이트 월세를 내기 바로 전 날 까지 인 n (1 ≤ n ≤ 100,000) 일과 일을 할 수 있는 날 m (0 ≤ m ≤ n) 일이 주어진다. 그 다음 줄 에는 1일부터 n일 까지 일급 Ti가 순서대로 주어진다. (0 < Ti ≤ 1,000,000) www.acmicpc.net 🤔 해결방법 1. 초기값 = 처음부터 m개의 합 2. 슬라이딩 윈도우로 앞에 하나 빼고 뒤에 하나 더하기 3. 그 값을 profit에 push 4. 2,3번 반복 5. profit에서 가장 큰 값 출력 🔑 풀이 const input = require("fs") // .readFileSync("/dev/stdin") .readFileSync(..