Solve day6
This commit is contained in:
23
day6/part1.py
Normal file
23
day6/part1.py
Normal file
@@ -0,0 +1,23 @@
|
||||
from math import prod
|
||||
from pathlib import Path
|
||||
|
||||
FILE = "input.txt"
|
||||
|
||||
def main():
|
||||
raw_lines = Path(FILE).read_text().splitlines()
|
||||
lines: list[list[str]] = [line.split() for line in raw_lines if line.strip()]
|
||||
problems: list[list[str]] = [list(col) for col in zip(*lines)]
|
||||
|
||||
return sum(compute([int(x) for x in problem[:-1]], problem[-1]) for problem in problems)
|
||||
|
||||
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())
|
||||
Reference in New Issue
Block a user