summaryrefslogtreecommitdiff
path: root/aoc/2025/01/python.py
diff options
context:
space:
mode:
authormhsn <mail@mhsn.net>2026-03-18 21:48:13 +0000
committermhsn <mail@mhsn.net>2026-03-18 21:48:13 +0000
commit86bac31392a76da84817eec020d2b84d099b3cc1 (patch)
treee2ee52db59b86b914d5b4bcceb19c9b5d899fff4 /aoc/2025/01/python.py
parent62fe361fc42dea75deaf7ac31c0ba6ba80e26a9c (diff)
downloadpuzzles-86bac31392a76da84817eec020d2b84d099b3cc1.tar.gz
puzzles-86bac31392a76da84817eec020d2b84d099b3cc1.zip
add other challenges supportHEADmaster
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)}")