From 5183ae11b82b5f9d0b8661003488f7edce199db9 Mon Sep 17 00:00:00 2001 From: Brulijam Date: Sat, 2 Dec 2023 18:20:59 +0100 Subject: [PATCH] aoc 2023 02 --- 2023/02/main.py | 35 +++++++++++++++++++++++++++++++++-- 1 file changed, 33 insertions(+), 2 deletions(-) diff --git a/2023/02/main.py b/2023/02/main.py index 1a5d976..6d8d068 100644 --- a/2023/02/main.py +++ b/2023/02/main.py @@ -14,7 +14,7 @@ for line in range(len(file)): blue_pos = set.find(" b") positions = [red_pos, green_pos, blue_pos] vals = [0, 0, 0] - + for pos in range(len(positions)): if positions[pos] != -1: vals[pos] = int(set[positions[pos]-2:positions[pos]]) @@ -24,4 +24,35 @@ for line in range(len(file)): if possible: sum += line+1 -print(sum) +print("Part 1: " + str(sum)) + + + +#! Part 2 + +file = open("input.txt").readlines() +sum = 0 + +for line in range(len(file)): + game = file[line].split(";") + game_sum = 0 + max_vals = [0, 0, 0] + + for set in game: + red_pos = set.find(" r") + green_pos = set.find(" g") + blue_pos = set.find(" b") + positions = [red_pos, green_pos, blue_pos] + vals = [0, 0, 0] + + for pos in range(len(positions)): + if positions[pos] != -1: + vals[pos] = int(set[positions[pos]-2:positions[pos]]) + + for i in range(len(max_vals)): + if vals[i] > max_vals[i]: + max_vals[i] = vals[i] + + game_sum += max_vals[0] * max_vals[1] * max_vals[2] + sum += game_sum +print("Part 2: " + str(sum))