Ti verrà data una stringa (possibilmente vuota) contenente parentesi ( [{()}]) e qualsiasi altro carattere ( A- Z, a- z, 0- 9, punteggiatura). È necessario verificare se aderisce alle seguenti regole:
- I caratteri non tra parentesi vengono ignorati.
- Ogni staffa aperta
[{(ha una staffa di chiusura)}]. Quindi[](non è permesso. - Le parentesi sono nidificate correttamente.
[(])non è permesso. - Le parentesi graffe non possono contenere parentesi quadre al loro interno. Le parentesi semplici non possono contenere parentesi graffe o quadrate al loro interno. Quindi
[({})],[{[]}]e({})non sono ammessi. Le parentesi possono essere nidificate con parentesi simili, quindi[[{((()))}{{(())}}]()]{()}è consentito.
L'output è un singolo valore di verità / falsità secondo la vostra scelta.
Il codice più corto vince.
Casi test
b[[a{(/)}(())+={{}-}],] -> Valido
([h][e][l][l][o]) -> Non valido
[///[{(\/(arg()))}1{{((-)-2)}}]()]{()} -> Valido
hi -> Valido