diff options
Diffstat (limited to '02')
| -rwxr-xr-x | 02/main.py | 32 | 
1 files changed, 32 insertions, 0 deletions
| diff --git a/02/main.py b/02/main.py new file mode 100755 index 0000000..59f722b --- /dev/null +++ b/02/main.py @@ -0,0 +1,32 @@ +#!/bin/python3 +import sys +import re + +id_sum = 0 +for line in sys.stdin: +  line = line.strip() +  game_id, sets = line.split(":") +  game_id = int(re.sub("[^0-9]", "", game_id)) +  sets = [x.strip() for x in sets.split(";")] +  possible = True +  for set in sets: +    cubes = [x.strip() for x in set.split(",")] +    cubes = [{"color": x.split()[1], "count": int(x.split()[0])} for x in cubes] +    map = { +      "red": 0, +      "green": 0, +      "blue": 0, +    } +    for cube in cubes: +      map[cube["color"]] = cube["count"] + +    if map["red"] > 12 or map["green"] > 13 or map["blue"] > 14: +      possible = False +      break +  if not possible: +    continue + +  id_sum += game_id + +print(f">> {id_sum}") + |