이 문제는 그냥 그 코드 자체이다. 스택으로 풀었고 ( 이 나올 경우에는 append해서 스택에 넣어주고 ) 이 나올 경우에는 2가지로 나뉘게 된다.
만약 stack에 (이 하나라도 담겨있으면 pop을 해서 한개를 없애준다. 만약 하나도 안담겨있는 빈 stack이면 이미 실패이므로 No를 출력해주고 break 한다.
만약 끝까지 break가 안된 끝난 상황이면 stack이 있다는건 실패 NO고 stack이 하나도 없으면 성공 Yes를 출력해준다.
T=int(input())
for _ in range(T):
stack=[]
s=input()
for i in s:
if i =='(':
stack.append(i)
elif i==')':
if stack:
stack.pop()
else:
print("NO")
break
else:
if not stack:
print("YES")
else:
print("NO")