Powered by AppSignal & Oban Pro
Would you like to see your link here? Contact us

Day 2

day2.livemd

Day 2

Section

defmodule Day2 do
  def run_part_1(input) do
    input
    |> String.split("\n", trim: true)
    |> Enum.map(fn
      "A X" -> 1 + 3
      "A Y" -> 2 + 6
      "A Z" -> 3 + 0
      "B X" -> 1 + 0
      "B Y" -> 2 + 3
      "B Z" -> 3 + 6
      "C X" -> 1 + 6
      "C Y" -> 2 + 0
      "C Z" -> 3 + 3
    end)
    |> Enum.sum()
  end

  def run_part_2(input) do
    input
    |> String.split("\n", trim: true)
    |> Enum.map(fn
      "A X" -> "A Z"
      "A Y" -> "A X"
      "A Z" -> "A Y"
      "B X" -> "B X"
      "B Y" -> "B Y"
      "B Z" -> "B Z"
      "C X" -> "C Y"
      "C Y" -> "C Z"
      "C Z" -> "C X"
    end)
    |> Enum.join("\n")
    |> run_part_1()
  end
end
Day2.run_part_1("""
A Y
B X
C Z
""")
Day2.run_part_1(File.read!("/Users/paulo.valente/coding/aoc_2022/day2_input.txt"))
Day2.run_part_2(File.read!("/Users/paulo.valente/coding/aoc_2022/day2_input.txt"))