2020-02-17 23:21:07 -08:00
|
|
|
using Printf
|
|
|
|
|
|
2018-06-22 20:57:24 +00:00
|
|
|
function balancedbrackets(str::AbstractString)
|
|
|
|
|
i = 0
|
|
|
|
|
for c in str
|
|
|
|
|
if c == '[' i += 1 elseif c == ']' i -=1 end
|
|
|
|
|
if i < 0 return false end
|
|
|
|
|
end
|
|
|
|
|
return i == 0
|
2013-10-27 22:24:23 +00:00
|
|
|
end
|
|
|
|
|
|
2018-06-22 20:57:24 +00:00
|
|
|
brackets(n::Integer) = join(shuffle(collect(Char, "[]" ^ n)))
|
2013-10-27 22:24:23 +00:00
|
|
|
|
2018-06-22 20:57:24 +00:00
|
|
|
for (test, pass) in map(x -> (x, balancedbrackets(x)), collect(brackets(i) for i = 0:8))
|
|
|
|
|
@printf("%22s%10s\n", test, pass ? "pass" : "fail")
|
|
|
|
|
end
|