advent-of-code/12021/03/03.awk

25 lines
336 B
Awk

NR==1{ n = length($0); print n }
{
for(i=1; i<=n;i++){
c[i] += substr($1,i,1)
}
}
END{
print NR
gamma = ""
epsilon = ""
g = 0
e = 0
for(i=1; i<=n; i++){
gamma = gamma (c[i]>NR/2)
g += lshift(c[i]>NR/2,n-i)
epsilon = epsilon (c[i]<NR/2)
e += lshift(c[i]<NR/2,n-i)
}
print gamma, epsilon
print g, e, g*e
# print
}