백준 문제(초급)

백준 9012 괄호

gwan9999 2023. 5. 28. 19:56

 

문제 설명

그니까, 괄호가 쌍이 지어지지 않으면, 문법적 오류가 있다고 판단하자는 것이다.

어떻게 판단하는 것이 좋을까?

stack으로 판단해보자 

n = int(input())

for _ in range(n):
    string = input()
    stk = []
    isVPS = True
    for element in string:
        if element == "(":
            stk.append(element)

        else:
            if len(stk)>0:
                stk.pop()
            else:
                isVPS = False
        
    if len(stk)>0:
        isVPS = False
    
    print("YES" if isVPS == True else "NO")