my solutions to advent of code
aoc
advent-of-code
1defmodule Main do
2 {_, input} =
3 File.read("../input.txt")
4
5 input =
6 input
7 |> String.trim()
8 |> String.split("\n")
9 |> Enum.map(fn v ->
10 v |> String.split("x") |> Enum.map(fn v -> String.to_integer(v) end)
11 end)
12
13 input
14 |> Enum.reduce(0, fn v, acc ->
15 [l, w, h] = v
16 sides = [l * w, w * h, h * l]
17 acc + Enum.sum(sides) * 2 + Enum.min(sides)
18 end)
19 |> IO.puts()
20
21 input
22 |> Enum.reduce(0, fn measure, acc ->
23 [l, w, h] = measure
24 half_perimeter = [l + w, w + h, h + l]
25
26 acc + Enum.reduce(measure, fn a, b -> a * b end) +
27 Enum.min(half_perimeter) * 2
28 end)
29 |> IO.puts()
30end