RosettaCodeData/Task/Balanced-brackets/Nu/balanced-brackets.nu

13 lines
327 B
Plaintext

def gen_brackets [n: int] { 1..$in | each {["[" "]"]} | flatten | shuffle | str join }
def check_brackets [] {
split chars | reduce --fold 0 {|x, d|
if ($d < 0) {-1} else {
$d + (if ($x == "[") {1} else {-1})
}
} | $in > -1
}
1..10 | each {gen_brackets $in | {brackets: $in, valid: ($in | check_brackets)}} | print