Skip to content

Commit 44425ce

Browse files
committed
Add Day 2 Part 2
1 parent 19f2066 commit 44425ce

File tree

2 files changed

+31
-0
lines changed

2 files changed

+31
-0
lines changed

lib/advent_of_code.ex

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,6 @@ defmodule AdventOfCode do
88
def day02 do
99
IO.puts "-- Day 02 --"
1010
AdventOfCode.Day02.Part01.run()
11+
AdventOfCode.Day02.Part02.run()
1112
end
1213
end

lib/day02/part02.ex

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
defmodule AdventOfCode.Day02.Part02 do
2+
def run do
3+
IO.puts "Part 2: #{solve()}"
4+
end
5+
6+
defp solve do
7+
input()
8+
|> Enum.map(&diffs/1)
9+
|> List.flatten()
10+
|> Enum.sum()
11+
end
12+
13+
defp diffs(str) do
14+
str
15+
|> String.split("\t")
16+
|> Enum.map(&to_integer/1)
17+
|> find_even_divide()
18+
end
19+
20+
defp find_even_divide(list) do
21+
for x <- list, y <- list, x != y, rem(x, y) == 0, do: div(x, y)
22+
end
23+
24+
defp to_integer(str) do
25+
{int, _} = Integer.parse(str)
26+
int
27+
end
28+
29+
defp input, do: File.stream!("lib/inputs/day2_0.txt")
30+
end

0 commit comments

Comments
 (0)