Вам будет предоставлена (возможно, пустая) строка, содержащая скобки ( [{()}]) и любые другие символы ( A- Z, a- z, 0- 9, знаки пунктуации). Вам необходимо проверить, соответствует ли он следующим правилам:
- Не заключенные в скобки символы игнорируются.
- Каждая открытая скобка
[{(имеет закрывающую скобку)}]. Так[](что не допускается. - Скобки правильно вложены.
[(])не разрешено. - Вьющиеся скобки не могут содержать квадратные скобки внутри них. Простые скобки не могут содержать ни фигурных, ни квадратных скобок внутри них. Так
[({})],[{[]}]и({})не допускаются. Скобки могут быть вложены в одинаковые скобки, поэтому[[{((()))}{{(())}}]()]{()}это разрешено.
Выход - единственное значение true / falsey согласно вашему выбору.
Самый короткий код выигрывает.
Контрольные примеры
b[[a{(/)}(())+={{}-}],] -> Действительный
([h][e][l][l][o]) -> Неверный
[///[{(\/(arg()))}1{{((-)-2)}}]()]{()} -> Действительный
hi -> Действительный