is_balanced: проверка правильной вложенности скобок трёх видов
Напишите функцию is_balanced(s: str) -> bool.
Вход. Строка s, состоящая только из символов (, ), [, ], {, }. Других символов во входе не бывает.
Выход. Ровно True или False (тип bool): сбалансированы ли скобки. Сбалансированы — значит каждая открывающая закрыта парной ей и вложенность не пересекается.
Поведение на краевых входах.
- Пустая строка — сбалансирована, вернуть
True. - Лишняя закрывающая скобка в начале (например
)) —False, а не исключение. - Незакрытая открывающая скобка (например
() —False. - Перекрёстная вложенность
([)]—False, хотя количество скобок каждого вида совпадает.
Возвращать нужно именно булево значение, а не список или число.
заготовка решения
def is_balanced(s: str) -> bool:
# ваш код
pass