Solve day6

This commit is contained in:
2025-12-08 10:41:08 -08:00
parent 6aca754e5f
commit ae88822038
4 changed files with 63 additions and 0 deletions

31
day6/part2.py Normal file
View File

@@ -0,0 +1,31 @@
from math import prod
from pathlib import Path
FILE = "input.txt"
def main():
raw_lines = Path(FILE).read_text().splitlines()
operators = raw_lines[-1].split()
operands: zip[tuple[str]] = zip(*raw_lines[:-1])
vals: list[int] = []
sum = 0
for val in operands:
if all(v == ' ' or v == '' for v in val):
sum += compute(vals, operators.pop(0))
vals = []
continue
vals.append(int("".join(val).strip()))
return sum + compute(vals, operators.pop(0))
def compute(vals: list[int], op: str) -> int:
if op == '+':
return sum(vals)
elif op == '*':
return prod(vals)
else:
print(f"unknown operator: {op}")
return 0
if __name__ == "__main__":
print(main())