28 lines
816 B
Python
28 lines
816 B
Python
import re
|
|
|
|
result = 0
|
|
with open("part2_input.txt", "r") as file_input:
|
|
raw_key_values = re.findall(r"(mul\(\d+,\d*\))|(do\(\))|(don't\(\))", file_input.read())
|
|
key_values = []
|
|
for match_tuple in raw_key_values:
|
|
temp_list = list(match_tuple)
|
|
temp_filtered_list = list(filter(None, temp_list))
|
|
key_values.append(temp_filtered_list[0])
|
|
skip = False
|
|
math_list = []
|
|
for item in key_values:
|
|
if item == "don't()":
|
|
skip = True
|
|
continue
|
|
elif item == "do()":
|
|
skip = False
|
|
continue
|
|
elif skip:
|
|
continue
|
|
math_list.append(item)
|
|
|
|
for item in math_list:
|
|
first_number, second_number = re.findall(r"\d+", item)
|
|
result += int(first_number) * int(second_number)
|
|
|
|
print(result) |