본문 바로가기

algorithm

알고리즘 기초 1/2 200-자료구조: 괄호

괄호(python 9012)

스택을 활용하여 '('을 저장하고, 스택이 비어있지 않은 경우에 ')'가 입력되면 스택을 pop하는 방식으로 풀이함.

import sys

T = int(input())

for i in range(T):
    stack = []
    vps = str(sys.stdin.readline())
    for j in vps:
        if j == '(':
            stack.append(j)
        elif j == ')':
            if len(stack) == 0:
                print("NO")
                break
            else:
                stack.pop()
    else:
        if len(stack) == 0:
            print("YES")
        else:
            print("NO")