알고리즘/SWEA
[SWEA] 4866. 괄호검사
빙빙
2021. 2. 23. 15:08
T = int(input())
for tc in range(1, T+1):
arr = input()
N =len(arr)
stack1 = []
result = 1
left = 0
right = 0
#왼쪽괄호들을 다 스택에 저장하고 오른쪽 괄호를 만난다면 pop해서 비교
for i in range(N):
if arr[i] == '(' or arr[i] == '{':
stack1.append(arr[i])
left += 1
if arr[i] == ')':
right += 1
if len(stack1) > 0 and stack1.pop() != '(':
result = 0
break
elif arr[i] == '}':
right += 1
if len(stack1) > 0 and stack1.pop() != '{':
result = 0
break
if len(stack1) != 0: #스택에 비워지지 않았다면 왼쪽 괄호가 더 많은 것이므로 0
result = 0
if left != right:
result = 0
print("#{} {}".format(tc,result ))