문제
9012번과 비슷한 문제.
다만 소괄호와 대괄호의 순서를 고려해야 하는 문제이다.
따라서 반복중 가장 최근에 나왔던 괄호가 소괄호인지 대괄호인지를 검사하여 짝이 맞는지 확인하는 방식으로 코드를 짜면 된다.
import sys
inpout = sys.stdin.readline
while 1:
s = input()
if s == '.':
break
stack = []
check = True
for i in range(len(s)):
if s[i] == '(' or s[i] == '[':
stack.append(s[i])
elif s[i] == ')':
if not stack or stack[-1] == '[':
check = False
break
elif stack[-1] == '(':
stack.pop()
continue
elif s[i] == ']':
if not stack or stack[-1] == '(':
check = False
break
elif stack[-1] == '[':
stack.pop()
continue
if not stack and check == True:
print('yes')
else:
print('no')