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

21 lines
402 B
Awk

BEGIN{
FS = ""
}
{
n = NF
for(i=1;i<=NF;i++){
h[NR,i] = $i
}
}
END {
for(y=1;y<=NR;y++){
for(x=1;x<=n;x++){
islowx = (h[y,x-1]>h[y,x]) && (h[y,x+1]>h[y,x]) || (x==1 && (h[y,x+1]>h[y,x])) || (x==n && h[y,x-1]>h[y,x])
islowy = (h[y-1,x]>h[y,x]) && (h[y+1,x]>h[y,x]) || (y==1 && h[y+1,x]>h[y,x]) || (y==NR && h[y-1,x]>h[y,x])
if(islowx && islowy ) sum += h[y,x]+1
}
}
print sum
}