백준_9012 (괄호 Valid PS VPS_구현문제)

RostoryT·2022년 6월 20일
0

Stack Queue

목록 보기
8/17


6
(())())
(((()())()
(()())((()))
((()()(()))(((())))()
()()()()(()()())()
(()((())()(


3
((
))
())(()
''' 내가 푼 - 조금 고생함 '''
def is_vpn(arr):
    num = 0
    for i in range(len(arr)):
        if arr[i] == '(': num += 1
        else: 
            if num == 0: 
                num += 1    # NO로 만들어주기 위해 +1
                break
            else: num -= 1
    return num  
    
for _ in range(int(input())):
    print("YES") if is_vpn(input()) == 0 else print("NO")

''' 다른 사람이 푼 - 나랑 비슷(큰 틀은 똑같) '''
from sys import stdin

n = int(input())
for _ in range(n):
    str_ = stdin.readline().strip()
    stack = 0
    for chr_ in str_:
        if chr_ == '(':
            stack += 1
        else:
            stack -= 1
            if stack < 0:    # 이 부분만 다름
                break
    if stack == 0:
        print('YES')
    else:
        print('NO')
profile
Do My Best

0개의 댓글