문제

https://www.acmicpc.net/problem/4949

풀이

단순 구현 문제.
정규표현식을 이용해 ()[] 만 남기는걸로 구현해보았다.

import re
lines = []
while True:
    getstring = input()
    if getstring == ".": break
    lines.append(getstring)

for line in lines:
    stack = []
    for i in re.sub("[^()\[\]]", "", line):
        if not stack:
            stack.append(i)
        elif stack[-1]=='(' and i==')':
            stack.pop()
        elif stack[-1]=='[' and i==']':
            stack.pop()
        else:
            stack.append(i)
            
    if stack: print("no")
    else: print("yes")

댓글남기기