45 lines
934 B
Lua
45 lines
934 B
Lua
|
--@name aoc2023d2p1
|
||
|
--@author logan2611
|
||
|
--@client
|
||
|
|
||
|
games = string.explode("\n", string.trim(file.read("aoc2023d2input.txt")))
|
||
|
|
||
|
sum = 0
|
||
|
|
||
|
max = {
|
||
|
red = 12,
|
||
|
green = 13,
|
||
|
blue = 14
|
||
|
}
|
||
|
|
||
|
print(max["red"])
|
||
|
|
||
|
for i, v in ipairs(games) do
|
||
|
local isValid = true
|
||
|
|
||
|
local curGame = string.gsub(string.trim(v),"^Game .*: ","")
|
||
|
|
||
|
local pulls = string.explode("; ", string.trim(curGame))
|
||
|
for _, pull in ipairs(pulls) do
|
||
|
local blocks = string.explode(", ", string.trim(pull))
|
||
|
for _, block in ipairs(blocks) do
|
||
|
local block_ = string.explode(" ", block)
|
||
|
local num = tonumber(block_[1])
|
||
|
local color = block_[2]
|
||
|
|
||
|
--print("Game "..i.." ("..pull..") "..num.." "..color)
|
||
|
|
||
|
if num > max[color] then
|
||
|
print(num)
|
||
|
isValid = false
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
|
||
|
if isValid then
|
||
|
sum = sum + i
|
||
|
end
|
||
|
end
|
||
|
|
||
|
print(sum)
|