문제
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')