summaryrefslogtreecommitdiff
path: root/aoc/2025/03/python.py
diff options
context:
space:
mode:
Diffstat (limited to 'aoc/2025/03/python.py')
-rwxr-xr-xaoc/2025/03/python.py21
1 files changed, 21 insertions, 0 deletions
diff --git a/aoc/2025/03/python.py b/aoc/2025/03/python.py
new file mode 100755
index 0000000..b0d4bfd
--- /dev/null
+++ b/aoc/2025/03/python.py
@@ -0,0 +1,21 @@
+#!/usr/bin/env python3
+
+from fileinput import input
+
+lines = [[int(b) for b in line.strip()] for line in input()]
+
+
+def jolt(bs: list[int], n: int) -> int:
+ if n == 1:
+ return max(bs)
+ n -= 1
+ b = max(bs[:-n])
+ i = bs.index(b)
+ return b * (10**n) + jolt(bs[i + 1 :], n)
+
+
+silver = sum(jolt(bs, 2) for bs in lines)
+gold = sum(jolt(bs, 12) for bs in lines)
+
+print("silver:", silver)
+print("gold:", gold)