딱히 어려운 문제가 아니다. 문제를 읽고 주어진 조건에 맞게 코드를 짜면 된다.
잘못된 수를 부르면 (입력값이 0일때) 스택을 pop해주고,
옳바른 수를 부르면 (입력값이 0이 아닐 때) 스택에 push 해준다.
const filePath = process.platform === 'linux' ? 'dev/stdin' : './input.txt';
const input = require('fs').readFileSync(filePath).toString().split('\n').map(v=>+v);
const K = input.shift(); // 첫 줄에는 입력값이 몇개인지 나타내는 수 K
let stack = []; // 스택 선언
for (let i = 0; i < K; i++) { // 입력값의 길이만큼 돌면서
input[i] !== 0 ? stack.push(input[i]) : stack.pop(); // 0일때 pop, 0이 아닐 때 push
}
const initialVal = 0; // reduce 사용을 위해 초기값 선언
const sum = stack.reduce((a,b) => a+b, initialVal); // reduce로 배열 속 요소들의 합을 구해줌
console.log(sum);