import sys
def isVPS(s):
stack = []
for i in s:
if i == '(':
stack.append(i)
if i == ')':
if not stack or stack[-1] == ')':
return False
else:
stack.pop()
if not stack:
return True
else:
return False
T = int(sys.stdin.readline()) # 테스트 케이스 수
for i in range(T):
s = list(sys.stdin.readline().strip())
if isVPS(s):
print("YES")
else:
print("NO")
지난번에 비슷한 유형의 문제를 풀 때는 stack을 이용해서 어떻게 푸는지 감이 잘 안잡혀서 시간이 오래걸렸는데, 이번에는 빠르게 성공. 괄호안에 값이 남아있을 경우(s가 "((" 같을 경우)도 생각해야한다!