Koala - 9기/기초 알고리즘 스터디
[백준/node.js]10773번 제로
알 수 없는 사용자
2023. 1. 15. 22:49
10773번: 제로
첫 번째 줄에 정수 K가 주어진다. (1 ≤ K ≤ 100,000) 이후 K개의 줄에 정수가 1개씩 주어진다. 정수는 0에서 1,000,000 사이의 값을 가지며, 정수가 "0" 일 경우에는 가장 최근에 쓴 수를 지우고, 아닐 경
www.acmicpc.net
코드
let fs = require('fs');
let input = fs.readFileSync('/dev/stdin').toString().split('\n');
const caseCount = Number(input[0]);
const stack = [];
for (let i = 1; i <= caseCount; i += 1) {
const value = Number(input[i]);
if (value === 0) {
stack.pop();
} else {
stack.push(value);
}
}
let result = 0;
for (let i = 0; i < stack.length; i += 1) {
result += stack[i];
}
console.log(result);
문제 해결
reduce 메소드를 이용하여 문제에 접근하려 했지만
reduce 메소드는 빈 배열에는 사용할 수 없다는 것을 알게 되었다.
그래서 stack의 간단한 특성을 이용하여 문제를 해결하였다.