You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
25 lines
747 B
25 lines
747 B
lines = open("input.txt", 'r').read().splitlines()
|
|
|
|
sum = 0
|
|
sum2 = 0
|
|
|
|
for l in lines:
|
|
sets = [[j.split(" ") for j in i.split(', ')] for i in l.split(": ")[1].split('; ')]
|
|
highest = {}
|
|
valid = True
|
|
for set in sets:
|
|
for cubes in set:
|
|
cubes[0] = int(cubes[0])
|
|
if (cubes[1] == "red" and cubes[0] > 12) or (cubes[1] == "green" and cubes[0] > 13) or (cubes[1] == "blue" and cubes[0] > 14):
|
|
valid = False
|
|
if cubes[1] not in highest or cubes[0] > highest[cubes[1]]:
|
|
highest[cubes[1]] = cubes[0]
|
|
if valid:
|
|
sum += int(l.split(": ")[0].split(" ")[1])
|
|
add = 1
|
|
for h in highest:
|
|
add *= highest[h]
|
|
sum2 += add
|
|
|
|
print(sum)
|
|
print(sum2) |