26 lines
791 B
Python
Executable File
26 lines
791 B
Python
Executable File
#!/usr/bin/env python3.11
|
|
import re
|
|
|
|
maximums = {"red": 12, "green": 13, "blue": 14}
|
|
|
|
|
|
def game_turn(game_id: int, data: str) -> int:
|
|
local_maximums = {"red": 0, "green": 0, "blue": 0}
|
|
sets = data.split("; ")
|
|
for dset in sets:
|
|
cubes = dset.split(", ")
|
|
for cube in cubes:
|
|
print(cube.split(" "))
|
|
number, color = cube.split(" ")
|
|
number = int(number)
|
|
local_maximums[color] = max(local_maximums[color], number)
|
|
return local_maximums["red"] * local_maximums["green"] * local_maximums["blue"]
|
|
|
|
|
|
id_sum = 0
|
|
with open("input.txt", "r") as input:
|
|
while line := input.readline():
|
|
match = re.match("Game (\d+): (.*)", line)
|
|
id_sum += game_turn(int(match.groups(0)[0]), match.groups(0)[1])
|
|
print(id_sum)
|