advent-of-code/2024/03/code.py
2025-02-21 10:15:46 +01:00

20 lines
605 B
Python

import re
from pathlib import Path
filepath = Path("./data/3_example")
filepath = Path("./data/3_input")
with open(filepath) as filein:
data = filein.read()
regex_mults = re.compile("mul\((\d{1,3},\d{1,3})\)")
pairs = [[int(i) for i in pair.split(',')] for pair in regex_mults.findall(data)]
print(sum([x*y for x,y in pairs]))
regex_dos = re.compile("do\(\)(\S*?)don't\(\)")
dont_data = ("do()"+data).split("don't")
do_data = "".join([s[s.find('do()'):] for s in dont_data])
pairs = [[int(i) for i in pair.split(',')] for pair in regex_mults.findall(do_data)]
print(sum([x*y for x,y in pairs]))