✨ 문제 ✨

✨ 정답 ✨
const fs = require("fs");
const filePath = process.platform === "linux" ? "/dev/stdin" : "./예제.txt";
let input = fs.readFileSync(filePath).toString().trim().split("\n");
let N = +input[0]
input[1].split(' ');
input = input.map((el) => +el)
input.shift();
let dp = new Array(N).fill(0)
if (N === 1) console.log(input[0])
else if (N === 2) console.log(input[0] + input[1])
else if (N >= 3) {
dp[1] = input[0]
dp[2] = input[0] + input[1];
for (let i = 3; i <= N; i++) {
dp[i] = Math.max(dp[i - 3] + input[i - 2] + input[i - 1], dp[i - 2] + input[i - 1], dp[i - 1])
}
console.log(Math.max(...dp))
}
💡💡 기억해야 할 점 💡💡
- 배열의 시작이 [0]이 아닌 경우도 있다.