4949号:バランスのとれた世界[python]


金貨に達するにはまだ長い道のりがある.
金メダルを達成するよりも、新しいアルゴリズムを学ぶチャンスが近づいているようだ.力が入らなければ、その時必要なアルゴリズムを一つ一つ身につけなければならない.

先にやろう
while(1):
    top = 0
    stk = ['']
    sent = input()
    if sent == '.':
        break
    
    for i in list(sent):
        if i == ')' and stk[top] == '(':
            stk.pop()
            top -= 1
        elif i == ']' and stk[top] == '[':
            stk.pop()
            top -= 1
        elif i == '(' or i == ')' or i == '[' or i == ']':
            stk.append(i)
            top += 1
    
    if top != 0:
        print('no')
    else:
        print('yes')
無限ループを終了条件としてスタックデータ構造を用いて実行した.