Zero-prefix numbers
This commit is contained in:
parent
c51a51ab63
commit
f295bd93af
18 changed files with 0 additions and 7750 deletions
37
2020/day06/day6.ex
Normal file
37
2020/day06/day6.ex
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
defmodule Day6 do
|
||||
defp read_input do
|
||||
Path.expand('input', Path.dirname(__ENV__.file))
|
||||
|> File.read!()
|
||||
end
|
||||
|
||||
def part1 do
|
||||
read_input()
|
||||
|> String.split("\n\n")
|
||||
|> Enum.map(fn block ->
|
||||
String.split(block)
|
||||
|> Enum.reduce(MapSet.new(), fn line, set ->
|
||||
MapSet.union(set, MapSet.new(String.codepoints(line)))
|
||||
end)
|
||||
end)
|
||||
|> Enum.map(&MapSet.size/1)
|
||||
|> Enum.sum()
|
||||
end
|
||||
|
||||
def part2 do
|
||||
alphabet = String.codepoints("abcdefghijklmnopqrstuvwxyz")
|
||||
|
||||
read_input()
|
||||
|> String.split("\n\n")
|
||||
|> Enum.map(fn block ->
|
||||
String.split(block)
|
||||
|> Enum.reduce(MapSet.new(alphabet), fn line, set ->
|
||||
MapSet.intersection(set, MapSet.new(String.codepoints(line)))
|
||||
end)
|
||||
end)
|
||||
|> Enum.map(&MapSet.size/1)
|
||||
|> Enum.sum()
|
||||
end
|
||||
end
|
||||
|
||||
Day6.part1() |> IO.inspect()
|
||||
Day6.part2() |> IO.inspect()
|
||||
Loading…
Reference in a new issue