26 lines
666 B
Python
Executable File
26 lines
666 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:
|
|
sets = data.split("; ")
|
|
for dset in sets:
|
|
cubes = dset.split(", ")
|
|
for cube in cubes:
|
|
print(cube.split(" "))
|
|
number, color = cube.split(" ")
|
|
number = int(number)
|
|
if number > maximums[color]:
|
|
return 0
|
|
return game_id
|
|
|
|
|
|
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)
|