Skip to content

Commit

Permalink
2021.01
Browse files Browse the repository at this point in the history
  • Loading branch information
Doruk Gurleyen committed Dec 1, 2021
1 parent 6303df0 commit b0decca
Show file tree
Hide file tree
Showing 5 changed files with 2,070 additions and 0 deletions.
2 changes: 2 additions & 0 deletions .tool-versions
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
erlang 23.2.3
elixir 1.11.3-otp-23
36 changes: 36 additions & 0 deletions challenges/2021/01.exs
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
Code.compile_file("./utils/utils.exs")

defmodule Challenge do
@moduledoc false

def input do
Utils.load_input(__ENV__.file)
end

def first_result do
input()
|> Enum.reduce([0, nil], fn val, [sum, prev] ->
val = String.to_integer(val)

if prev && prev < val, do: [sum + 1, val], else: [sum, val]
end)
|> List.first()
end

def second_result do
input()
|> Enum.reduce([0, nil, nil, nil], fn val, [sum, prev3, prev2, prev1] = acc ->
val = String.to_integer(val)

if Enum.all?(acc) && prev3 < val do
[sum + 1, prev2, prev1, val]
else
[sum, prev2, prev1, val]
end
end)
|> List.first()
end
end

IO.inspect(Challenge.first_result(), label: "Q1")
IO.inspect(Challenge.second_result(), label: "Q2")
Loading

0 comments on commit b0decca

Please sign in to comment.