diff --git a/2025-python/output/day_03.py b/2025-python/output/day_03.py new file mode 100644 index 0000000..8d993b3 --- /dev/null +++ b/2025-python/output/day_03.py @@ -0,0 +1,31 @@ +def solve(data): + p1 = 0 + p2 = 0 + for line in data.splitlines(): + p1 += _maxj(line, 2) + p2 += _maxj(line, 12) + return p1, p2 + + +def _maxj(line, C): + toexcl = len(line) - C + batt = [] + for c in line: + while toexcl and batt and batt[-1] < c: + toexcl -= 1 + batt.pop() + batt.append(c) + return sum(10**x * int(y) for x, y in zip(range(C - 1, -1, -1), batt)) + + +if __name__ == "__main__": + with open("./input/03.txt", "r") as f: + inp = f.read().strip() + + p1, p2 = solve(inp) + + print(p1) + print(p2) + + assert p1 == 17430 + assert p2 == 171975854269367