# Day 01 ```elixir Mix.install([:kino_aoc]) ``` ## Section ```elixir {:ok, puzzle_input} = KinoAOC.download_puzzle("2024", "1", System.fetch_env!("LB_ADVENT_OF_CODE_SESSION")) ``` ```elixir {left, right} = puzzle_input |> String.split("\n", trim: true) |> Enum.map(fn line -> line |> String.split(" ", trim: true) |> Enum.map(&String.to_integer/1) |> List.to_tuple() end) |> Enum.unzip() ``` ## Part 1 ```elixir left |> Enum.sort() |> Enum.zip_with(Enum.sort(right), &abs(&1 - &2)) |> Enum.sum() ``` ## Part 2 ```elixir freq_left = Enum.frequencies(left) freq_right = Enum.frequencies(right) freq_left |> Enum.map(fn {id, n} -> id * n * Map.get(freq_right, id, 0) end) |> Enum.sum() ```