https://www.acmicpc.net/problem/2156
let fs = require('fs');
let input = fs.readFileSync('/dev/stdin').toString().split('\n');
let n = Number(input[0]);
let numbers = [];
for(let i=1; i<input.length; i++) {
if (input[i] != '') {
numbers.push(Number(input[i]));
}
}
function answer(arr) {
let sum = [0, arr[0], arr[0] + (arr[1] || 0)];
for(var i=3; i<=arr.length; i++) {
if (i == 3) sum[i] = Math.max(sum[i-2], sum[i-3] + arr[i-2]) + arr[i-1];
else sum[i] = Math.max(sum[i-2], sum[i-3] + arr[i-2], sum[i-4] + Math.max(arr[i-3], arr[i-2])) + arr[i-1];
}
return Math.max(...sum);
}
console.log(answer(numbers));
두 번을 건너뛰어도 최대값이 되는 답이 있을 수 있다는걸 생각 못하고 처음에 오류가 났다...
그래서 max의 인자를 더 추가했다