diff options
Diffstat (limited to 'aoc/2022/10')
-rwxr-xr-x | aoc/2022/10/part-one.awk | 8 | ||||
-rwxr-xr-x | aoc/2022/10/part-two.awk | 10 |
2 files changed, 18 insertions, 0 deletions
diff --git a/aoc/2022/10/part-one.awk b/aoc/2022/10/part-one.awk new file mode 100755 index 0000000..756464e --- /dev/null +++ b/aoc/2022/10/part-one.awk @@ -0,0 +1,8 @@ +#!/usr/bin/env -S awk -f +BEGIN { cycle = x = 1 } +{ cycle++ } +cycle % 40 == 20 { strength += cycle * x } +{ x += $2 } +/^addx/ { cycle++ } +/^addx/ && cycle % 40 == 20 { strength += cycle * x } +END { print strength } diff --git a/aoc/2022/10/part-two.awk b/aoc/2022/10/part-two.awk new file mode 100755 index 0000000..9126306 --- /dev/null +++ b/aoc/2022/10/part-two.awk @@ -0,0 +1,10 @@ +#!/usr/bin/env -S awk -f +function cycle (c, x) { + printf x - 2 < c && c < x + 2 ? "#" : "." + printf c == 39 ? "\n" : "" + return (c + 1) % 40 +} +BEGIN { x = 1 } +{ c = cycle(c, x) } +/^addx/ { c = cycle(c, x) } +{ x += $2 } |