RosettaCodeData/Task/Balanced-brackets/Julia/balanced-brackets-1.julia

17 lines
418 B
Text
Raw Permalink Normal View History

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