자료구조+알고리즘/BOJ
[BOJ-10773-Siver4]제로 (javascript)
어나_eona
2024. 2. 29. 21:07
반응형
https://www.acmicpc.net/problem/10773
10773번: 제로
첫 번째 줄에 정수 K가 주어진다. (1 ≤ K ≤ 100,000) 이후 K개의 줄에 정수가 1개씩 주어진다. 정수는 0에서 1,000,000 사이의 값을 가지며, 정수가 "0" 일 경우에는 가장 최근에 쓴 수를 지우고, 아닐 경
www.acmicpc.net
[유형]
- 스택
[문제]
[풀이]
K 숫자 입력 받고
K 갯수대로 숫자들 입력받기
0이 나오면 pop() ...
마지막 배열에 남은 숫자들 더하면 끝
[코드 풀이]
// 파일 불러오기 -> fs모듈
let fs = require('fs');
let input = fs.readFileSync('./input.txt').toString().split('\n'); //백준에서는 '/dev/stdin'을 사용하면 된다.
const cnt = Number(input[0])
const stack = []
for(let i=0; i<=cnt; i++){
const num = Number(input[i])
if(num === 0 && stack.length !== 0) {
stack.pop();
}else{
stack.push(num)
}
}
let answer = 0;
answer = stack.slice(1).reduce((acc, cur) => acc + cur, 0); //slice(1)로 인덱스1부터 끝까지 얕은 복사본 배열 생성
console.log(answer);
728x90
반응형