27 lines
492 B
Python
27 lines
492 B
Python
import re
|
|
from lib import get_data
|
|
from lib import ints
|
|
|
|
|
|
data = get_data(__file__)
|
|
|
|
t = 0
|
|
r = re.compile(r'mul\(\d+,\d+\)')
|
|
for match in r.findall(data):
|
|
a, b = ints(match)
|
|
t += a * b
|
|
print(t)
|
|
|
|
t = 0
|
|
enabled = True
|
|
for i in range(len(data.strip())):
|
|
m = r.match(data[i:])
|
|
if m and enabled:
|
|
a, b = ints(m.group())
|
|
t += a * b
|
|
elif data[i:].startswith("do()"):
|
|
enabled = True
|
|
elif data[i:].startswith("don't()"):
|
|
enabled = False
|
|
print(t)
|