I did wonder if that might be the case, I must have been lucky with my input.
I did wonder if that might be the case, I must have been lucky with my input.
Python
def process(input, part2=False):
if part2:
input = re.sub(r'don\'t\(\).+?do\(\)', '', input) # remove everything between don't() and do()
total = [ int(i[0]) * int(i[1]) for i in re.findall(r'mul\((\d+),(\d+)\)', input) ]
return sum(total)
Given the structure of the input file, we just have to ignore everything between don’t() and do(), so remove those from the instructions before processing.
I’m in this picture and I don’t like it.