LoginSignup
5
0

More than 1 year has passed since last update.

君がため惜しからざりし命さへ長くもがなと思ひけるかな

Advent Calendar 2022 102日目1の記事です。
I'm looking forward to 12/25,2022 :santa::santa_tone1::santa_tone2::santa_tone3::santa_tone4::santa_tone5:
私のAdvent Calendar 2022 一覧


はじめに

この記事は、Advent Of Code 2021 Day 1: Sonar SweepElixirで楽しんでみます。

スクリーンショット 2022-04-17 21.57.27.png

私は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 :lgtm::lgtm::lgtm::lgtm::lgtm:

Advent Of Code 2021 Day 1: Sonar SweepElixirで楽しんでみました。
Day 25まであるので引き続き楽しんでいきたいとおもいます。

It works!
Amazing!

自分で解いてみて、動画をみてJosé Valimさんに特別家庭教師をしてもらっている気に勝手になっています :sweat_smile:

Enjoy Elixir:bangbang::bangbang::bangbang:
$\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!


  1. @kaizen_nagoya さんの「「@e99h2121 アドベントカレンダーではありますまいか Advent Calendar 2020」の改訂版ではありますまいか Advent Calendar 2022 1日目 Most Breakthrough Generator」から着想を得て、模倣いたしました。

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