aoc2022/d06/exec.awk

17 lines
376 B
Awk

BEGIN { W = 14 }
{
for (i=1; i<=length($1); i++) {
window = substr($1,i,W)
# compare each char of window to all char of window
S = 0 # to count match
for (j=1; j<=W; j++) {
for (k=j; k<=W; k++) {
S+= (substr(window,j,1) == substr(window,k,1)) ? 1 : 0
}
}
if (S == W) { # if each char match only with itsef
print i + W - 1
next # finish
}
}
}