君がため惜しからざりし命さへ長くもがなと思ひけるかな
Advent Calendar 2022 102日目1の記事です。
I'm looking forward to 12/25,2022
私のAdvent Calendar 2022 一覧。
はじめに
この記事は、Advent Of Code 2021 Day 1: Sonar SweepをElixirで楽しんでみます。
私はGitHubでログインしました。
私の回答
私の回答です。
私の回答
input
はサンプルデータです。
ログインをすると、2000個あるインプットデータがみえます。
Part 1
input = """
199
200
208
210
200
207
240
269
260
263
"""
input
|> String.split()
|> Enum.map(&String.to_integer/1)
|> Enum.reduce({nil, 0}, fn depth, {before_depth, cnt} ->
{depth, if(before_depth < depth, do: cnt + 1, else: cnt)}
end)
|> elem(1)
Part 2
input = """
199
200
208
210
200
207
240
269
260
263
"""
input
|> String.split()
|> Enum.map(&String.to_integer/1)
|> Enum.chunk_every(3, 1, :discard)
|> Enum.map(&Enum.sum/1)
|> Enum.chunk_every(2, 1, :discard)
|> Enum.count(fn [left, right] -> left < right end)
It works!
Amazing!
お手本
José ValimさんがLivebookで、楽しまれている動画があります。
José Valimさんは、Elixirの作者です!
お手本
Part 1
input
|> String.split("\n", trim: true)
|> Enum.map(&String.to_integer/1)
|> Enum.chunk_every(2, 1, :discard)
|> Enum.count(fn [left, right] -> left < right end)
Part 2
input
|> String.split("\n", trim: true)
|> Enum.map(&String.to_integer/1)
|> Enum.chunk_every(3, 1, :discard)
|> Enum.chunk_every(2, 1, :discard)
|> Enum.count(fn [left, right] -> Enum.sum(left) < Enum.sum(right) end)
Wrapping up
Advent Of Code 2021 Day 1: Sonar SweepをElixirで楽しんでみました。
Day 25まであるので引き続き楽しんでいきたいとおもいます。
It works!
Amazing!
自分で解いてみて、動画をみてJosé Valimさんに特別家庭教師をしてもらっている気に勝手になっています 。
Enjoy Elixir
$\huge{Enjoy\ Elixir🚀}$
以上です。
I organize autoracex.
And I take part in NervesJP, fukuoka.ex, EDI, tokyo.ex, Pelemay.
I hope someday you'll join us.
We Are The Alchemists, my friends!
We appreciate this shoutout, Torifuku! pic.twitter.com/dThmJg4CYN
— ClickUp (@clickup) April 11, 2022