Solve 2024 day 3

This commit is contained in:
felixm 2024-12-03 00:15:35 -05:00
parent 893a8e3dbb
commit b627e97c5a
2 changed files with 31 additions and 2 deletions

26
2024/d3.py Normal file
View File

@ -0,0 +1,26 @@
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)

View File

@ -291,5 +291,8 @@ and focus. Of course, learning more algorithms and techniques helps.
## AoC 2024
- Day 1: 1:30/2:49 (124th/141th)
- Day 2:
- Day 1: `00:01:30 124 0 00:02:49 141 0`
- Day 2: `00:05:34 686 0 00:08:21 531 0`
- Day 3: `00:01:48 165 0 00:02:40 56 45`
- Day 4: