„Trójkątny wspornik” (który przygotowałem na to wyzwanie) to jedno z poniższych:
(...+...)
[...:...]
{...|...}
<...-...>
Zrównoważony ciąg nawiasów tripletowych (w skrócie BTBS) jest albo pustym ciągiem, połączonymi dwoma BTBS, albo jednym z powyższych nawiasów tripletowych, z których każdy jest ...
zastąpiony BTBS.
Twoim zadaniem jest napisanie programu lub funkcji, która sprawdza, czy ciąg składający się tylko z (+)[:]{|}<->
jest zrównoważony. Najkrótszy kod wygrywa.
Przykłady
Twój program powinien zwracać wartość true dla następujących ciągów:
(+)(+)(+)
[[[:]:]:(+(+))]{<->|<(+)->[:]}(+)
<<<<<<<<<<<<->->->->->->->->->->->->
{|(+[:<-{|(+[:<->])}>])}
[[[:]:[:]]:[[:]:[:]]]
{[:](+)|<->{|}}[(+)<->:{|}(+)]
Twój program powinien zwrócić fałsz dla następujących ciągów:
:[
<|>
(+(+)
[:][:](+[[:]):]
{|{|{|(+{|{|{|}}}}}+)}[:]{|}
{{||}}
<<->-<->-<->>
[(+):((+)+)+(+(+))]
<<<<<->->->->->->
<|>
w przykładach fałszerstwa.
(|)
ważny Nie sądzę, ale nie jestem pewien