알고리즘
[백준 10773번] 제로 - JavaScript
미누라니까요
2025. 1. 23. 16:47
728x90
반응형
SMALL
이 문제는 막 복잡한 문제는 아닌 거 같다.
문제에서 값이 0인 경우에 가장 최근에 쓴 수를 지우고, 아닐 경우 해당 숫자를 기록한다고 되어있다.
이 개념은 정확히 스택의 개념에 맞아떨어진다.
값이 0인 경우에 가장 최근에 쓴 수를 지우는 것은 stack의 pop()이고, 해당 숫자를 기록하는 것은 stack의 push()이다.
아래는 소스 코드이다.
소스 코드
const input = require('fs')
.readFileSync('/dev/stdin')
.toString()
.trim()
.split('\n');
const num = input.shift();
const stack = [];
input.forEach((ele) => {
ele = +ele;
if (ele === 0) {
stack.pop();
} else {
stack.push(ele);
}
});
let result = 0;
stack.forEach((ele) => {
result += ele;
});
console.log(result);
728x90
반응형
LIST