9012 괄호 파이썬

강지훈·2022년 6월 14일
0

n = int(input())

for _ in range(n):
flag=0
st=input()
stack=[]
for i in st:
if i == '(':
stack.append(i)
#( 일때 append
elif i== ')':
if len(stack)>=1:
stack.pop()
#) 일떄 pop , stack에 뺄게 있을시 len(stack)>=1
else:

            # ) 인데 stack의 크기가 0이다 len(stack)==0 그럼 flag=1
            flag=1
            break 

if len(stack)==0 and flag==0:
    #정상적으로 종료됬고 flag도 0
    print("YES")
elif len(stack)!=0 or flag==1:
    #flag가 1이고 stack이 비워있지 않으니 no
    print("NO")

    
    
profile
never stop

0개의 댓글