Решение задачи Правильная скобочная последовательность с Яндекс Контест

Без пояснения   Просмотров: 4892


Рассмотрим последовательность, состоящую из круглых, квадратных и фигурных скобок. Программа дожна определить, является ли данная скобочная последовательность правильной. Пустая последовательность явлется правильной. Если A – правильная, то последовательности (A), [A], {A} – правильные. Если A и B – правильные последовательности, то последовательность AB – правильная.


Код

str = input()
stack = []
for i in str:
    if i == '(' or i == '{' or i == '[':
        stack.append(i)
    elif i == ')':
        if len(stack) > 0:
            if stack[-1] == '(':
                del stack[-1]
            else:
                print('no')
                raise SystemExit
        else:
            print('no')
            raise SystemExit
    elif i == '}':
        if len(stack) > 0:
            if stack[-1] == '{':
                del stack[-1]
            else:
                print('no')
                raise SystemExit
        else:
            print('no')
            raise SystemExit
    elif i == ']':
        if len(stack) > 0:
            if stack[-1] == '[':
                del stack[-1]
            else:
                print('no')
                raise SystemExit
        else:
            print('no')
            raise SystemExit
if len(stack) > 0:
    print('no')
else:
    print('yes')

         

Администратор Photo Автор: Администратор


Код

str = input()
stack = []
for i in str:
    if i == '(' or i == '{' or i == '[':
        stack.append(i)
    elif i == ')':
        if len(stack) > 0:
            if stack[-1] == '(':
                del stack[-1]
            else:
                print('no')
                raise SystemExit
        else:
            print('no')
            raise SystemExit
    elif i == '}':
        if len(stack) > 0:
            if stack[-1] == '{':
                del stack[-1]
            else:
                print('no')
                raise SystemExit
        else:
            print('no')
            raise SystemExit
    elif i == ']':
        if len(stack) > 0:
            if stack[-1] == '[':
                del stack[-1]
            else:
                print('no')
                raise SystemExit
        else:
            print('no')
            raise SystemExit
if len(stack) > 0:
    print('no')
else:
    print('yes')

         

Администратор Photo Автор: Администратор



Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться



Заявка на расчет