advent-of-code/12023/02/02.lua

33 lines
886 B
Lua

io.input("input")
sum1 = 0
sum2 = 0
maxs = { r=12, g=13, b=14 }
for line in io.lines() do
print(line)
id = line:match("Game (%d+):")
print(id)
is_valid = true
mins = {r=0, g=0, b=0}
for reveal in line:gmatch("[%d%a, ]+") do
r = tonumber(reveal:match("(%d+) red"))
g = tonumber(reveal:match("(%d+) green"))
b = tonumber(reveal:match("(%d+) blue"))
print(reveal,r,g,b)
if (r and r>maxs.r) or (g and g>maxs.g) or (b and b>maxs.b) then
is_valid = false
end
if r and r>mins.r then mins.r = r end
if g and g>mins.g then mins.g = g end
if b and b>mins.b then mins.b = b end
end
if is_valid then
print("valid", id)
sum1 = sum1 + id
end
sum2 = sum2 + mins.r*mins.g*mins.b
print(mins.r, mins.g, mins.b)
end
print("part 1", sum1)
print("part 2", sum2)