add: days06: part2

This commit is contained in:
2025-12-08 13:06:14 +01:00
parent d38a763908
commit 12f1ca9e8f

31
2025/day06/part2.py Normal file
View File

@ -0,0 +1,31 @@
import math
text: str
with open("input.txt") as f:
text = f.read()
total: int = 0
def calc(lines: list[str], start: int, stop: int) -> int:
numbers: list[int] = []
for i in range(start, stop):
number: int = 0
for line in lines[:-1]:
if (line[i] != ' '):
number = number * 10 + int(line[i])
numbers.append(number)
operator = lines[-1][start]
if (operator == "+"):
return sum(numbers)
return math.prod(numbers)
lines: list[str] = text.splitlines()
prev = len(lines[-1])
for i in range(len(lines[-1]) - 1, -1, -1):
operator: str = lines[-1][i]
if (operator in "+*"):
total += calc(lines, i, prev)
prev = i - 1
print(total)