지나가던 개발자

[Python] 백준 4949번(균형잡힌 세상) 문제 풀이 본문

PS/Python

[Python] 백준 4949번(균형잡힌 세상) 문제 풀이

KwonYongHyeon 2022. 12. 8. 17:03

 

while True:
    s = input()
    if s == ".":
        break
    stack = []
    d = {")": "(", "]": "["}
    printed = False
    for char in s:
        if char in list(d.values()):
            stack.append(char)
            continue
        if char in d:
            try:
                if stack.pop() != d[char]:
                    print("no")
                    printed = True
                    break
            except:
                print("no")
                printed = True
                break
    if printed:
        continue
    if len(stack) == 0:
        print("yes")
        continue
    print("no")

 

어제 푼 9012번 문제와 상당히 유사하다. 스택 자료구조를 사용해서 풀 수 있다.

Comments