Hanbit the Developer

[문자열] Python - 4949번, 균형잡힌 세상 본문

Algorithm/백준

[문자열] Python - 4949번, 균형잡힌 세상

hanbikan 2021. 3. 10. 12:24

www.acmicpc.net/problem/4949

 

4949번: 균형잡힌 세상

하나 또는 여러줄에 걸쳐서 문자열이 주어진다. 각 문자열은 영문 알파벳, 공백, 소괄호("( )") 대괄호("[ ]")등으로 이루어져 있으며, 길이는 100글자보다 작거나 같다. 입력의 종료조건으로 맨 마

www.acmicpc.net

while True:
    strCur = input()
    if strCur == ".":
        break

    isBalanced = True
    stack = [-1]
    for c in strCur:
        if c in '([':
            stack.append(c)
        elif c == ')':
            if stack[-1] == ')':
                del stack[-1]
            else:
                isBalanced = False
                break
        elif c == ']':
            if stack[-1] == ']':
                del stack[-1]
            else:
                isBalanced = False
                break
    if isBalanced and stack != [-1]:
        isBalanced = False

    if isBalanced:
        print('yes')
    else:
        print('no')