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