프로그래밍 언어/파이썬

백준 > 9012 괄호

B612 2024. 3. 28. 18:52

 

스택 개념을 이용해 푼 문제

n = int(input())

for i in range(n):
    arr = input()
    new = 0
    if arr.count('(') != arr.count(')'):
        print('NO')
    else:
        list_arr = list(arr)
        for j in range(len(list_arr)):
            if list_arr[j] == '(':
                new += 1
            else:
                if new > 0:
                    new -= 1
                else:
                    print('NO')
                    break
        if j + 1 == len(list_arr) and new == 0:
            print('YES')