미누에요

[백준 10773번] 제로 - JavaScript 본문

알고리즘

[백준 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