RosettaCodeData/Task/Balanced-brackets/Stata/balanced-brackets.stata

13 lines
223 B
Plaintext

mata
function random_brackets(n) {
return(invtokens(("[","]")[runiformint(1,2*n,1,2)],""))
}
function is_balanced(s) {
n = strlen(s)
if (n==0) return(1)
a = runningsum(92:-ascii(s))
return(all(a:>=0) & a[n]==0)
}
end