5
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ElixirAdvent Calendar 2024

Day 3

Advent of code 2015 Day 1 Part 1 を Livebook で楽しむ

Last updated at Posted at 2024-11-19

はじめに

昨年、 Advent of code 2023 を Livebook で楽しみました

今年も 12 月に開始されるので、その前に過去回の 2015 を解いて行きます

実装したノートブックはこちら

問題はこちら

セットアップ

Livebook のセットアップセルで KinoAOC をインストールします

Mix.install([
  {:kino_aoc, "~> 0.1"}
])

実は KinoAOC に問題があったため、 PR を出して修正しました

https://qiita.com/RyoWakabayashi/private/9a92d118ce7eba9f1cc3

入力の取得

KinoAOC をインストールすると、 "Advent of Code Helper" というスマートセルが
使えるようになります

スクリーンショット 2024-11-19 12.48.47.png

"Advent of Code Helper" のセルを追加し、年、日、認証用のSESSION、入力を格納する変数名を指定します

スクリーンショット 2024-11-19 12.25.27.png

SESSION の値は Cookies から取得可能です

スクリーンショット 2024-11-19 12.23.13.png

私の答え

私の答えです。
折りたたんでおきます。
▶を押して開いてください。

回答

( のときに上昇、 ) のときに下降し、最終的に何階にいるのか、という問題です

最終的な階数は「( の数 - ) の数」です

) の数」は「全文字数 - ( の数」なので、最終的な階数は「( の数 - (全文字数 - ( の数) = 2 * ( の数 - 全文字数」となります

puzzle_input
|> String.codepoints()
|> then(fn directions ->
  2 * Enum.count(directions, fn d -> d == "(" end) - length(directions)
end)

まとめ

Day 1 Part 1 なので単純ですね

Part 2 はこちら

5
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?