알고리즘
[백준 9012번] 괄호 - JavaScript
미누라니까요
2025. 1. 22. 11:16
728x90
반응형
SMALL
이 문제도 스택을 사용하여 이전 문제처럼 풀면 되겠다.
이전 문제와 너무 동일하므로 자세한 설명은 생략한다.
소스 코드
const input = require('fs')
.readFileSync('/dev/stdin')
.toString()
.trim()
.split('\n');
const num = input.shift();
const results = [];
input.forEach((line) => {
const stack = [];
let isBalanced = true;
for (const char of line) {
if (char === '(' || char === '[') {
stack.push(char);
} else if (char === ')') {
if (stack.pop() !== '(') {
isBalanced = false;
break;
}
} else if (char === ']') {
if (stack.pop() !== '[') {
isBalanced = false;
break;
}
}
}
if (isBalanced && stack.length === 0) {
results.push('YES');
} else {
results.push('NO');
}
});
console.log(results.join('\n'));
728x90
반응형
LIST