Powered by AppSignal & Oban Pro

Advent of Code 2022

2022/day01.livemd

Advent of Code 2022

Mix.install([
  {:req, "~> 0.3.2"}
])

Day 1

input =
  "https://adventofcode.com/2022/day/1/input"
  |> Req.get!(headers: [cookie: "session=#{System.get_env("AOC_COOKIE")}"])
  |> Map.get(:body)

Part 1

input
|> String.split("\n\n", trim: true)
|> Enum.map(fn s ->
  String.split(s, "\n", trim: true)
  |> Enum.map(fn n -> String.to_integer(n) end)
  |> Enum.sum()
end)
|> Enum.max()

Part 2

input
|> String.split("\n\n", trim: true)
|> Enum.map(fn s ->
  String.split(s, "\n", trim: true)
  |> Enum.map(fn n -> String.to_integer(n) end)
  |> Enum.sum()
end)
|> Enum.sort(:desc)
|> Enum.take(3)
|> Enum.sum()