🧠𝗔𝗹𝗴𝗼𝗿𝗶𝘁𝗵𝗺/💛 백준

[백준/알고리즘기초1] 자료구조1. 9012번 괄호(JavaScript)

안오늘 2021. 10. 12. 21:15

문제

https://www.acmicpc.net/problem/9012

 

9012번: 괄호

괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고

www.acmicpc.net

 

풀이

const fs = require('fs');
const input = fs.readFileSync("/dev/stdin").toString().trim().split('\n');
const T = parseInt(input.shift(), 10);

let result = [];

for (let i = 0; i < T; i++) {
    let temp = input[i].split('');
    let stack = [];
    for (let j = 0; j < temp.length; j++) {
        if (temp[j] === '(') {
            stack.push('(');
        }
        else {
            if (stack[stack.length - 1] === '(') {
                stack.pop();
            }
            else {
                stack.push(')');
            }
        }
    }
    result.push(stack[0] ? 'NO' : 'YES'); // 스택 값이 있으면 올바르지 않음. 없으면 올바름.
}

console.log(result.join('\n'));

예전에 풀었던 문제라 쉽게 풀었다.

열심히 알고리즘 스킬들 익혀 나가야지.