[백준/node.js] 10828번 스택
2023. 8. 7. 09:18ㆍTrip to Cote
js를 공부했다면 스택은 모르기 힘든 개념이다. 자신있게 풀었지만 시간초과와 문자열 정리를 잘못해 정답을 보고 풀었다.
1. 그냥 문자열을 뽑았더니 \r이 붙어 나왔는데 그냥 문자열만 ===처리하면 같다 처리가 안나왔다.
2. 콘솔을 그냥 케이스마다 찍었는데 그러다보니 계속 시간초과가 떴다. 그래서 배열에 저장에 나중에 콘솔을 한 번만 찍었다.
const fs = require("fs");
const input = fs
.readFileSync("/dev/stdin")
.toString()
.replace(/\r/g, "")
.trim()
.split("\n");
const stack = [];
const answer = [];
for (let i = 1; i < input.length; i++) {
if (input[i] === "top") {
if (stack.length === 0) {
answer.push(-1);
} else answer.push(stack[stack.length - 1]);
} else if (input[i] === "size") {
answer.push(stack.length);
} else if (input[i] === "empty") {
if (stack.length === 0) {
answer.push(1);
} else {
answer.push(0);
}
} else if (input[i] === "pop") {
if (stack.length === 0) {
answer.push(-1);
} else {
answer.push(stack.pop());
}
} else stack.push(input[i].substring(5));
}
console.log(answer.join("\n"));
'Trip to Cote' 카테고리의 다른 글
[백준/node.js] 15624번 피보나치 수 7 (못 풀었음) (0) | 2023.08.11 |
---|---|
[백준/node.js] 10828번 차이를 최대로 (못 풀었음) (0) | 2023.08.08 |
[백준/node.js] 5073번 삼각형과 세 변 (0) | 2023.08.06 |
[백준/node.js] 11726번 2xn 타일링 (못 풀었음) (0) | 2023.08.05 |
[백준/node.js] 11399번 ATM (0) | 2023.07.31 |