Watch
1
0
Fork
You've already forked advent-of-code
0

Day 9 Part 2

This commit is contained in:
Jeremy Kaplan 2020-12-08 22:16:19 -08:00
commit c51a51ab63

View file

@ -7,7 +7,7 @@ defmodule SetTools do
[]
end
def combinations(list = [head | tail], size) do
def combinations([head | tail], size) do
taken = Stream.map(combinations(tail, size - 1), fn subset -> [head | subset] end)
left = combinations(tail, size)
Stream.concat(taken, left)
@ -45,6 +45,26 @@ defmodule Day9 do
end)
|> Enum.at(preamble_size)
end
defp slices(list) do
2..(length(list) - 1)
|> Stream.flat_map(fn size ->
Stream.chunk_every(list, size, 1, :discard)
end)
end
def part2 do
target = part1()
ints =
read_input()
|> parse_lines()
|> slices()
|> Enum.find(fn slice -> Enum.sum(slice) == target end)
Enum.min(ints) + Enum.max(ints)
end
end
Day9.part1() |> IO.inspect()
Day9.part2() |> IO.inspect()