Files
zern/examples/puzzles/aoc2024_01.zr
2025-12-22 21:21:15 +01:00

35 lines
850 B
Plaintext

func part1[l1: array, l2: array] : void
let out: i64 = 0
for i in 0..array.size(l1)
out = out + math.abs(array.nth(l1, i) - array.nth(l2, i))
io.println_i64(out)
func part2[l1: array, l2: array] : void
let out: i64 = 0
for i in 0..array.size(l1)
out = out + array.nth(l1, i) * alg.count(l2, array.nth(l1, i))
io.println_i64(out)
func main[] : i64
let lines: array = io.read_file("input.txt") |> str.split("\n")
let l1: array = []
let l2: array = []
for i in 0..array.size(lines)
let line: str = array.nth(lines, i)
let parts: array = str.split(line, " ")
array.push(l1, str.parse_i64(array.nth(parts, 0)))
array.push(l2, str.parse_i64(array.nth(parts, 1)))
alg.quicksort(l1)
alg.quicksort(l2)
part1(l1, l2)
part2(l1, l2)