RosettaCodeData/Task/Balanced-brackets/AWK/balanced-brackets.awk

22 lines
350 B
Awk
Raw Permalink Normal View History

2023-07-01 11:58:00 -04:00
#!/usr/bin/awk -f
BEGIN {
print isbb("[]")
print isbb("][")
print isbb("][][")
print isbb("[][]")
print isbb("[][][]")
print isbb("[]][[]")
}
function isbb(x) {
s = 0
for (k=1; k<=length(x); k++) {
2026-02-01 16:33:20 -08:00
c = substr(x,k,1)
if (c=="[") {s++}
else { if (c=="]") s-- }
2023-07-01 11:58:00 -04:00
if (s<0) {return 0}
2026-02-01 16:33:20 -08:00
}
2023-07-01 11:58:00 -04:00
return (s==0)
}