Day1 done
This commit is contained in:
4
2025/Day1.lesson.txt
Normal file
4
2025/Day1.lesson.txt
Normal file
@@ -0,0 +1,4 @@
|
||||
Lessons from first day
|
||||
|
||||
1. Read! Oh that brain of mine, skipping half the things and missing things like count clicks not end point dial
|
||||
2. Setup a proper test, make a smaller input test that you know the answer to to check the code
|
||||
11
2025/Day1.test
Normal file
11
2025/Day1.test
Normal file
@@ -0,0 +1,11 @@
|
||||
R1000
|
||||
L68
|
||||
L30
|
||||
R48
|
||||
L5
|
||||
R60
|
||||
L55
|
||||
L1
|
||||
L99
|
||||
R14
|
||||
L82
|
||||
33
2025/Day1b.lua
Executable file
33
2025/Day1b.lua
Executable file
@@ -0,0 +1,33 @@
|
||||
#!/bin/lua
|
||||
local Dial = 50
|
||||
local CountZero = 0
|
||||
local CountClick = 0
|
||||
for line in io.lines() do
|
||||
local Direction, Count = line:match("^(%w)(%d+)$")
|
||||
CountClick = CountClick + math.floor(Count / 100)
|
||||
Count = Count - (math.floor(Count / 100) * 100)
|
||||
if Direction == "L" then
|
||||
Count = 0 - Count
|
||||
end
|
||||
if Dial == 0 then
|
||||
Dial = Dial + Count
|
||||
else
|
||||
Dial = Dial + Count
|
||||
if Dial < 0 or Dial > 100 then
|
||||
CountClick = CountClick + 1
|
||||
end
|
||||
end
|
||||
|
||||
Dial = Dial % 100
|
||||
if Dial == 0 then
|
||||
CountZero = CountZero + 1
|
||||
end
|
||||
print("Direction=" .. Direction .. " Count=" .. Count .. " Dial=" .. Dial .. " CountClick=" .. CountClick)
|
||||
end
|
||||
local Total = CountZero + CountClick
|
||||
|
||||
print("Dial " .. Dial)
|
||||
print("Zero " .. CountZero)
|
||||
print("Clicks " .. CountClick)
|
||||
print("Total " .. Total)
|
||||
print("Done")
|
||||
Reference in New Issue
Block a user