aboutsummaryrefslogtreecommitdiff
path: root/2025/01/puzzle-2.awk
diff options
context:
space:
mode:
authorThomas Voss <mail@thomasvoss.com> 2025-12-01 14:02:23 +0100
committerThomas Voss <mail@thomasvoss.com> 2025-12-01 14:02:23 +0100
commit0d0ff35caf7f2d8d541a43cb6da322f6fce11ff3 (patch)
tree9f114d5c8f721952e2a264b2e0efdd3e25d20c86 /2025/01/puzzle-2.awk
parent9bffb39837bf92fb5eb4316291070d08886dd4a7 (diff)
Add 2025 day 1 solutions
Diffstat (limited to '2025/01/puzzle-2.awk')
-rwxr-xr-x2025/01/puzzle-2.awk23
1 files changed, 23 insertions, 0 deletions
diff --git a/2025/01/puzzle-2.awk b/2025/01/puzzle-2.awk
new file mode 100755
index 0000000..b0516bf
--- /dev/null
+++ b/2025/01/puzzle-2.awk
@@ -0,0 +1,23 @@
+#!/usr/bin/awk -f
+
+function mod(n, m)
+{
+ return ((n % m) + m) % m
+}
+
+BEGIN { dial = 50 }
+
+{ n = substr($0, 2) }
+
+/^L/ {
+ sign = -1
+ acc += int(n / 100) + (n%100 >= dial && dial != 0)
+}
+/^R/ {
+ sign = +1
+ acc += int((dial + n) / 100)
+}
+
+{ dial = mod(dial + n*sign, 100) }
+
+END { print acc }