20 lines
605 B
Python
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]))
|