Files
2024-12-03 21:38:03 -08:00

24 lines
600 B
Python

import re
with open("input-xlarge", "r") as inputFile:
memory = inputFile.read()
do_memory = memory.split("don't()")
# part 1
def apply_multipliers(s: str):
prods = []
multipliers = re.findall("mul\(\d{1,3},\d{1,3}\)", s)
for m in multipliers:
nums = list(map(int, re.findall("\d+", m)))
prods.append(nums[0] * nums[1])
return sum(prods)
# part 2
sum_dos = apply_multipliers(do_memory[0])
for line in do_memory[1:]:
if "do()" in line:
split_line = "".join(line.split('do()')[1:])
sum_dos += apply_multipliers(split_line)
print(sum_dos)