728x90
반응형
const { stdin } = require('process');
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
rl.on('line', (line) => {
const input = line.split(/\r?\n/);
let stack = [];
counter = Number(input[0]);
for (let i = 0; i < counter + 1; i++) {
const command = input[i].split(' ');
if (command.length == 1) {
if (command[0] === 'pop') {
if (stack.length == 0) {
console.log(-1);
} else {
console.log(stack[stack.length - 1]);
stack.pop();
}
}
if (command[0] === 'size') {
console.log(stack.length);
}
if (command[0] === 'empty') {
if (stack.length == 0) {
console.log(1);
} else {
console.log(0);
}
}
if (command[0] === 'top') {
if (stack.length == 0) {
console.log(-1);
} else {
console.log(stack[stack.length - 1]);
}
}
} else {
Push = command[1];
stack.push(Push);
}
}
rl.close();
}).on('close', () => {
process.exit();
})
위 코드로는 로컬 환경에서 확인했습니다.
let fs = require('fs');
let input = fs.readFileSync('/dev/stdin').toString().split('\n');
let stack = [];
counter = Number(input[0]);
for (let i = 0; i < counter + 1; i++) {
const command = input[i].split(' ');
if (command.length == 1) {
if (command[0] === 'pop') {
if (stack.length == 0) {
console.log(-1);
} else {
console.log(stack[stack.length - 1]);
stack.pop();
}
}
if (command[0] === 'size') {
console.log(stack.length);
}
if (command[0] === 'empty') {
if (stack.length == 0) {
console.log(1);
} else {
console.log(0);
}
}
if (command[0] === 'top') {
if (stack.length == 0) {
console.log(-1);
} else {
console.log(stack[stack.length - 1]);
}
}
} else {
Push = command[1];
stack.push(Push);
}
}
위 코드로 백준 알고리즘 제출했습니다.
항상 부족한 부분이나 피드백할 부분을 댓글로 남겨주시면 적극적으로 수용하여 수정하겠습니다.
728x90
반응형
'Study > 알고리즘' 카테고리의 다른 글
[프로그래머스] 기능개발 (Javascript) (0) | 2022.06.03 |
---|---|
[프로그래머스] 로또의 최고 순위와 최저 순위 (Javascript) (0) | 2022.03.23 |
[프로그래머스] K번째수 (Javascript) (0) | 2022.02.19 |
시간 복잡도란? (0) | 2022.01.29 |
[백준] 18258 큐2 JavaScript (0) | 2021.09.13 |