aoc2021/7.jl

15 lines
398 B
Julia

function solution7(costfunction)
start = parse.(Int, split(readline("7.data"),","))
min(map(x -> costfunction(x, start), min(start...):max(start...))...)
end
function solution7_1()
solution7((x, positions) -> sum(abs.(positions .- x)))
end
function solution7_2()
solution7((x, positions) -> sum(div.(map(n->n * (n+1), abs.(positions .- x)), 2)))
end
solution7_1(), solution7_2()