Solve 2024 day 3
This commit is contained in:
+26
@@ -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)
|
||||
@@ -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:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user