From d1f87266e17bf4eefa4a4212fd4411c3b0181aaa Mon Sep 17 00:00:00 2001 From: kwout Date: Thu, 5 Dec 2024 12:51:21 -0500 Subject: [PATCH] 2024 day 3 part 2 solved --- 2024/3.py | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/2024/3.py b/2024/3.py index 6abb925..369bbf9 100644 --- a/2024/3.py +++ b/2024/3.py @@ -2,12 +2,24 @@ import re lines = [l for l in open("input.txt", 'r').read().splitlines()] -summa, x = 0, [] +summa, summa2, do = 0, 0, True for l in lines: - x = [i.span() for i in re.finditer("mul\([0-9]{1,3},[0-9]{1,3}\)", l)] + x = [i.span() for i in re.finditer(r"mul\([0-9]{1,3},[0-9]{1,3}\)", l)] + x2 = [i.span() for i in re.finditer(r"mul\([0-9]{1,3},[0-9]{1,3}\)|do\(\)|don't\(\)", l)] + for start, end in x: tup = l[start:end].split(',') summa += int(tup[0][4:]) * int(tup[1][:-1]) -print(summa) \ No newline at end of file + for start,end in x2: + if l[start:end] == 'do()': + do = True + elif l[start:end] == 'don\'t()': + do = False + elif do: + tup = l[start:end].split(',') + summa2 += int(tup[0][4:]) * int(tup[1][:-1]) + +print(summa) +print(summa2) \ No newline at end of file