Code for the Advent of Code event
aoc advent-of-code
at rust 32 lines 620 B view raw
1#!/usr/bin/env lua 2 3local freqs = {} 4local part1 = 0 5 6for line in io.lines('input.txt') do 7 local freq = tonumber(line) 8 freqs[#freqs + 1] = freq 9 part1 = part1 + freq 10end 11 12print('Part 1: ' .. part1) 13 14local occurrences = setmetatable({}, { __index = function() return 0 end }) 15occurrences[0] = 1 16local current = 0 17local ind = 1 18local found = nil 19 20while not found do 21 current = current + freqs[ind] 22 occurrences[current] = occurrences[current] + 1 23 24 if occurrences[current] > 1 then 25 found = current 26 end 27 28 ind = ind + 1 29 if ind > #freqs then ind = 1 end 30end 31 32print('Part 2: ' .. found)