https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV14eWb6AAkCFAYD
괄호가 나오는 문제는 대부분 스텍을 사용한다.
해당 문제에서는 <>, (), {}, [] 의 4가지 괄호가 나오기 때문에 4개의 스텍을 선언하고 괄호가 열리면
스텍에 추가하고 닫히면 팝을하며 검사해 나가면 된다.
괄호가 닫힐때 스텍이 비어있는경우는 잘못된 괄호로 판단함
for tcase in range(1,11):
testc = input()
ipt = input()
res=True
one = []
two = []
tree = []
four = []
for t in ipt:
if t == "(":
one.append(1)
elif t==")":
if len(one)==0:
res = False
break
one.pop()
elif t=="[":
two.append(1)
elif t == "]":
if len(two)==0:
res = False
break
two.pop()
elif t=="{":
tree.append(1)
elif t=="}":
if len(tree)==0:
res = False
break
tree.pop()
elif t=="<":
four.append(1)
else:
if len(four)==0:
res = False
break
four.pop()
if res and len(one)+len(two)+len(tree)+len(four)==0:
print(f"#{tcase} 1")
else:
print(f"#{tcase} 0")