
num = int(input())
for i in range(num):
words= input()
stack = []
for word in words:
if word == "(":
stack.append("()")
elif word == ")":
if len(stack) == 0:
print("NO")
break
else:
stack.pop()
else:
if len(stack) != 0:
print("NO")
else:
print("YES")
처음에는 그냥 단순하게 '('의 개수랑 ')'만 맞으면 되는거 아냐?라는 생각으로 짰는데 당연히 안된다.
왜냐하면 이 경우는 )( 이런 순서의 예시를 잡을 수 없기 때문.
결국 스택으로 해결했는데 마지막 else부분에서 시간이 제일 많이 걸렸다. 다른 언어에서 얻은 습관이 있어서 break에 걸리지 않을 경우에 대한 처리를 못했기 때문..
마지막 else는 위 break에 걸리지 않을 경우 실행한다. 이게 제일 시간 많이 잡아먹었다.