Un "support triplet" (que j'ai compensé pour ce défi) est l'un des suivants:
(...+...)
[...:...]
{...|...}
<...-...>
Une chaîne de crochets triplet équilibrée (BTBS pour faire court) est soit une chaîne vide, deux BTBS concaténés, soit l'un des crochets de triplet ci-dessus, chacun étant ...
remplacé par un BTBS.
Votre tâche consiste à écrire un programme ou une fonction qui vérifie si une chaîne composée uniquement (+)[:]{|}<->
est équilibrée. Le code le plus court gagne.
Exemples
Votre programme doit retourner véridique pour les chaînes suivantes:
(+)(+)(+)
[[[:]:]:(+(+))]{<->|<(+)->[:]}(+)
<<<<<<<<<<<<->->->->->->->->->->->->
{|(+[:<-{|(+[:<->])}>])}
[[[:]:[:]]:[[:]:[:]]]
{[:](+)|<->{|}}[(+)<->:{|}(+)]
Votre programme doit renvoyer la falsification pour les chaînes suivantes:
:[
<|>
(+(+)
[:][:](+[[:]):]
{|{|{|(+{|{|{|}}}}}+)}[:]{|}
{{||}}
<<->-<->-<->>
[(+):((+)+)+(+(+))]
<<<<<->->->->->->
<|>
dans les exemples de falsification.
(|)
valide. Je ne pense pas, mais je ne suis pas sûr