はじめに
Advent of code 2024 の準備として、過去回の Advent of code 2015 を Livebook で楽しみます
本記事では Day 2 の Part 1 を解きます
問題文はこちら
実装したノートブックはこちら
セットアップ
Kino AOC をインストールします
Mix.install([
{:kino_aoc, "~> 0.1"}
])
Kino AOC の使い方はこちらを参照
入力の取得
"Advent of Code Helper" スマートセルを追加し、 Day 1 の入力を取得します
私の答え
私の答えです。
折りたたんでおきます。
▶を押して開いてください。
回答
各面の面積を求め、最小のものを余剰分の面積とします
余剰分含む表面積を求め、全て合計します
puzzle_input
|> String.split("\n")
|> Enum.map(fn row ->
[l, w, h] =
row
|> String.split("x")
|> Enum.map(&String.to_integer(&1))
{lw, wh, hl} = {l * w, w * h, h * l}
slack = Enum.min([lw, wh, hl])
2 * lw + 2 * wh + 2 * hl + slack
end)
|> Enum.sum()
まとめ
まだ特に捻りのない問題ですね
Part 2 はこちら