«Тройка скобок» (которую я составил для этого испытания) является одним из следующих:
(...+...)
[...:...]
{...|...}
<...-...>
Сбалансированная строка триплетных скобок (для краткости BTBS) представляет собой либо пустую строку, две сцепленные BTBS, либо одну из указанных выше тройных скобок, каждая из которых ...заменяется на BTBS.
Ваша задача - написать программу или функцию, которая проверяет, (+)[:]{|}<->сбалансирована ли строка, состоящая только из одной строки . Самый короткий код выигрывает.
Примеры
Ваша программа должна вернуть truey для следующих строк:
(+)(+)(+)
[[[:]:]:(+(+))]{<->|<(+)->[:]}(+)
<<<<<<<<<<<<->->->->->->->->->->->->
{|(+[:<-{|(+[:<->])}>])}
[[[:]:[:]]:[[:]:[:]]]
{[:](+)|<->{|}}[(+)<->:{|}(+)]
Ваша программа должна возвращать ложные значения для следующих строк:
:[
<|>
(+(+)
[:][:](+[[:]):]
{|{|{|(+{|{|{|}}}}}+)}[:]{|}
{{||}}
<<->-<->-<->>
[(+):((+)+)+(+(+))]
<<<<<->->->->->->
<|>в ложных примерах.
(|)действительным. Я так не думаю, но я не уверен