From 7b49412dcd6af8fc6fc92dd3cd86b0d47b21a5e0 Mon Sep 17 00:00:00 2001 From: mhsn Date: Wed, 3 Dec 2025 09:43:42 +0000 Subject: 25-03 python p2 --- 2025/03/python.py | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to '2025') diff --git a/2025/03/python.py b/2025/03/python.py index 4c16c6d..b0d4bfd 100755 --- a/2025/03/python.py +++ b/2025/03/python.py @@ -5,13 +5,17 @@ from fileinput import input lines = [[int(b) for b in line.strip()] for line in input()] -def joltage(bs: list[int]): - d2 = max(bs[:-1]) - return max(d2 * 10 + max(bs[idx + 1 :]) for idx, b in enumerate(bs[:-1]) if b == d2) +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(map(joltage, lines)) -gold = 0 +silver = sum(jolt(bs, 2) for bs in lines) +gold = sum(jolt(bs, 12) for bs in lines) print("silver:", silver) print("gold:", gold) -- cgit v1.2.3