스택을 이용해서 푸는 흔한 괄호 문제
다른점이라면 문장에서 괄호만 필터로 꺼내 담아 체크한다는 점뿐이다
https://www.acmicpc.net/problem/4949
const readline = require("readline");
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
});
rl.on("line", (line) => {
if (line === ".") {
rl.close();
}
}).on("close", () => {
solution(line);
process.exit();
});
const solution = (line) => {
const arr = line
.split("")
.filter((el) => el === "(" || el === ")" || el === "[" || el === "]");
const chk = [];
if (arr.length % 2 !== 0) {
console.log("no");
return;
}
for (let i = 0; i < arr.length; i++) {
const cur = arr[i];
if (cur === "[") {
chk.push(cur);
}
if (cur === "]") {
if (chk[chk.length - 1] === "[") {
chk.pop();
} else {
chk.push(cur);
}
}
if (cur === "(") {
chk.push(cur);
}
if (cur === ")") {
if (chk[chk.length - 1] === "(") {
chk.pop();
} else {
chk.push(cur);
}
}
}
if (!chk.length && !chk.length) {
console.log("yes");
} else {
console.log("no");
}
};
'개발 노트 > 백준, 프로그래머스 풀이' 카테고리의 다른 글
[백준 1049/javascript] 기타줄 (0) | 2022.10.26 |
---|---|
[백준 1920/javascript] 그림 (0) | 2022.10.23 |
[백준 1920/javascript] 수 찾기 (0) | 2022.10.21 |
[백준 1449/javascript] 수리공 항승 (0) | 2022.10.20 |
[백준 2217/javascript] 로프 (0) | 2022.10.20 |
댓글