알고리즘/백준

[백준] 4949번 균형잡힌 세상 (파이썬)

알감자 2021. 12. 28. 20:38
 

4949번: 균형잡힌 세상

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

www.acmicpc.net

 

코드

import sys

while True:
    braket = []
    check = True
    string = sys.stdin.readline().rstrip()

    if string == ".":
        break

    for letter in string:
        if letter == "[":
            braket.append(letter)
        elif letter == "(":
            braket.append(letter)
        elif letter == "]":
            if len(braket) >= 1:
                if braket[-1] == "[":
                    braket.pop()
                else:
                    check = False
                    break
            else:
                check = False
                break
        elif letter == ")":
            if len(braket) >= 1:
                if braket[-1] == "(":
                    braket.pop()
                else:
                    check = False
                    break
            else:
                check = False
                break

    if check:
        if len(braket) == 0:
            print("yes")
        elif len(braket) > 0:
            print("no")
    else:
        print("no")