feat: solve day 1 puzzle 2
This commit is contained in:
@@ -1,7 +1,31 @@
|
||||
local utils = require "utils"
|
||||
local puzzle2 = {}
|
||||
|
||||
function puzzle2.solve(input)
|
||||
return 0
|
||||
local password = 0
|
||||
local cursor = 50
|
||||
|
||||
local lines = utils.splitLines(input)
|
||||
for _, line in ipairs(lines) do
|
||||
local dir = line:sub(1, 1)
|
||||
local dist = tonumber(line:sub(2))
|
||||
if dir == "R" then
|
||||
cursor = cursor + dist
|
||||
if cursor > 99 then
|
||||
password = password + math.floor(cursor / 100)
|
||||
end
|
||||
else
|
||||
cursor = cursor - dist
|
||||
if cursor <= 0 then
|
||||
if cursor ~= -dist then
|
||||
password = password + 1
|
||||
end
|
||||
password = password + math.floor(-cursor / 100)
|
||||
end
|
||||
end
|
||||
cursor = cursor % 100
|
||||
end
|
||||
return password
|
||||
end
|
||||
|
||||
return puzzle2
|
||||
|
||||
Reference in New Issue
Block a user