https://www.acmicpc.net/problem/10773
[유형]
- 스택
[문제]
[풀이]
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
반응형
'자료구조+알고리즘 > BOJ' 카테고리의 다른 글
[BOJ-24511_silver3] queuestack (javascript) (0) | 2024.03.02 |
---|---|
[BOJ-17413_silver3] 단어 뒤집기2 (javascript) (0) | 2024.02.29 |
[1152][백준_브론즈2] 단어의 개수 - JavaScript (0) | 2023.11.07 |
[2562][백준_브론즈3] 최댓값 - JavaScript (0) | 2023.11.07 |
[11720][java][백준] 숫자의 합 (0) | 2022.02.09 |