2025 #5

Open
aey wants to merge 16 commits from 2025 into main
Showing only changes of commit 4a070e827b - Show all commits

View file

@ -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