summaryrefslogtreecommitdiff
path: root/02/main.py
diff options
context:
space:
mode:
Diffstat (limited to '02/main.py')
-rwxr-xr-x02/main.py32
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}")
+