Un "soporte de triplete" (que inventé para este desafío) es uno de los siguientes:
(...+...)
[...:...]
{...|...}
<...-...>
Una cadena de corchetes triples equilibrada (BTBS para abreviar) es una cadena vacía, dos BTBS concatenados o uno de los corchetes ...
triples anteriores, cada uno reemplazado por un BTBS.
Su tarea es escribir un programa o función que verifique si una cadena que consta de solo (+)[:]{|}<->
está equilibrada. El código más corto gana.
Ejemplos
Su programa debe devolver la verdad para las siguientes cadenas:
(+)(+)(+)
[[[:]:]:(+(+))]{<->|<(+)->[:]}(+)
<<<<<<<<<<<<->->->->->->->->->->->->
{|(+[:<-{|(+[:<->])}>])}
[[[:]:[:]]:[[:]:[:]]]
{[:](+)|<->{|}}[(+)<->:{|}(+)]
Su programa debe devolver falsedad para las siguientes cadenas:
:[
<|>
(+(+)
[:][:](+[[:]):]
{|{|{|(+{|{|{|}}}}}+)}[:]{|}
{{||}}
<<->-<->-<->>
[(+):((+)+)+(+(+))]
<<<<<->->->->->->
<|>
en los ejemplos falsos.
(|)
valido. No lo creo, pero no estoy seguro