Una "parentesi tripla" (che ho inventato per questa sfida) è una delle seguenti:
(...+...)
[...:...]
{...|...}
<...-...>
Una stringa di parentesi di terzina bilanciata (in breve BTBS) è una stringa vuota, due BTBS concatenati o una delle parentesi di terzina di cui sopra ciascuna ...
sostituita da una BTBS.
Il tuo compito è scrivere un programma o una funzione che controlli se una stringa composta solo da (+)[:]{|}<->
è bilanciata. Il codice più corto vince.
Esempi
Il tuo programma dovrebbe restituire la verità per le seguenti stringhe:
(+)(+)(+)
[[[:]:]:(+(+))]{<->|<(+)->[:]}(+)
<<<<<<<<<<<<->->->->->->->->->->->->
{|(+[:<-{|(+[:<->])}>])}
[[[:]:[:]]:[[:]:[:]]]
{[:](+)|<->{|}}[(+)<->:{|}(+)]
Il tuo programma dovrebbe restituire falsy per le seguenti stringhe:
:[
<|>
(+(+)
[:][:](+[[:]):]
{|{|{|(+{|{|{|}}}}}+)}[:]{|}
{{||}}
<<->-<->-<->>
[(+):((+)+)+(+(+))]
<<<<<->->->->->->
<|>
negli esempi di falsi.
(|)
valido Non credo, ma non ne sono sicuro