37 lines
462 B
Plaintext
37 lines
462 B
Plaintext
Balanced := function(L)
|
|
local c, r;
|
|
r := 0;
|
|
for c in L do
|
|
if c = ']' then
|
|
r := r - 1;
|
|
if r < 0 then
|
|
return false;
|
|
fi;
|
|
elif c = '[' then
|
|
r := r + 1;
|
|
fi;
|
|
od;
|
|
return r = 0;
|
|
end;
|
|
|
|
Balanced("");
|
|
# true
|
|
|
|
Balanced("[");
|
|
# false
|
|
|
|
Balanced("]");
|
|
# false
|
|
|
|
Balanced("[]");
|
|
# true
|
|
|
|
Balanced("][");
|
|
# false
|
|
|
|
Balanced("[[][]]");
|
|
# true
|
|
|
|
Balanced("[[[]][]]]");
|
|
# false
|