From 47eb33e373f0b6fe9891b786e8ba3951fc41476a Mon Sep 17 00:00:00 2001 From: Juan MarĂ­n Noguera Date: Sun, 1 Dec 2024 14:29:18 +0100 Subject: Day 01 This also includes a template to call the relevant functions from each day more conveniently. --- 01.lua | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 01.lua (limited to '01.lua') diff --git a/01.lua b/01.lua new file mode 100644 index 0000000..fefffa4 --- /dev/null +++ b/01.lua @@ -0,0 +1,39 @@ +function lines () + local x = io.read("*n") + local y = io.read("*n") + return x, y +end + +local input = {{}, {}} + +for x, y in lines do + table.insert(input[1], x) + table.insert(input[2], y) +end + +function input:part1() + table.sort(self[1]) + table.sort(self[2]) + + local sum = 0 + for i = 1,#self[1] do + sum = sum + math.abs(self[1][i] - self[2][i]) + end + + print(sum) +end + +function input:part2() + local dict = {} + for _, val in ipairs(self[2]) do + dict[val] = (dict[val] or 0) + 1 + end + + local sum = 0 + for _, val in ipairs(self[1]) do + if dict[val] then sum = sum + val * dict[val] end + end + print(sum) +end + +return input -- cgit v1.2.3