6. Balanced Parentheses - Решение
Здравейте,
Гледам, че в Пайтън курса никой не е питал за задачата Balanced Parentheses от темата Стекове и Опашки. Дори и да е тривиална виждам, че все пак има много въпроси. Оставям тук решението ми, което работи само с един стек, който се използва за проследяване на отварящи и затварящи скоби. Като валидацията използва стрингове и скобите запазени като няколко листа.
Решението дава 100 точки.
text = input()
stack = []
for i in range(len(text)):
if text[i] == "(" or text[i] == "[" or text[i] == "{":
stack.append(text[i])
elif text[i] == ")" or text[i] == "]" or text[i] == "}":
stack.append(text[i])
if stack[-2:] == ['(', ')'] or stack[-2:] == ['[', ']'] or stack[-2:] == ['{', '}']:
stack.pop(), stack.pop()
if len(stack) == 0:
print('YES')
else:
print('NO')