summaryrefslogtreecommitdiff
path: root/aoc/2025/01/python.py
diff options
context:
space:
mode:
Diffstat (limited to 'aoc/2025/01/python.py')
-rwxr-xr-xaoc/2025/01/python.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/aoc/2025/01/python.py b/aoc/2025/01/python.py
new file mode 100755
index 0000000..d5ff1fa
--- /dev/null
+++ b/aoc/2025/01/python.py
@@ -0,0 +1,15 @@
+#!/usr/bin/env python3
+
+from fileinput import input
+from itertools import accumulate
+
+
+def fn(p: tuple[int, int], rot: str) -> tuple[int, int]:
+ x = p[0] + int(rot[1:]) * (1 if rot[0] == "R" else -1)
+ return x % 100, abs(x) // 100 + (p[0] and x <= 0)
+
+
+p1, p2 = zip(*list(accumulate(input(), fn, initial=(50, 0))))
+
+print(f"silver: {sum(not p for p in p1)}")
+print(f"gold: {sum(p2)}")