From 91f8845a23744de10d6c7cfd3e93ec0440ee179e Mon Sep 17 00:00:00 2001 From: kwout Date: Fri, 6 Dec 2024 13:33:52 -0500 Subject: [PATCH] 2024 day 3 minor optimization --- 2024/3.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/2024/3.py b/2024/3.py index 369bbf9..4508140 100644 --- a/2024/3.py +++ b/2024/3.py @@ -5,13 +5,8 @@ lines = [l for l in open("input.txt", 'r').read().splitlines()] summa, summa2, do = 0, 0, True for l in lines: - 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]) - for start,end in x2: if l[start:end] == 'do()': do = True @@ -19,7 +14,12 @@ for l in lines: do = False elif do: tup = l[start:end].split(',') - summa2 += int(tup[0][4:]) * int(tup[1][:-1]) + prod = int(tup[0][4:]) * int(tup[1][:-1]) + summa2 += prod + summa += prod + else : + tup = l[start:end].split(',') + summa += int(tup[0][4:]) * int(tup[1][:-1]) print(summa) print(summa2) \ No newline at end of file