Skip to content

Instantly share code, notes, and snippets.

@pivstone
Created December 13, 2018 08:44
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save pivstone/e4d08734f34d23daa9640f59530adca5 to your computer and use it in GitHub Desktop.
Save pivstone/e4d08734f34d23daa9640f59530adca5 to your computer and use it in GitHub Desktop.
[Elixir] adventofcode 2018 Day 1
# Part 1
data = ['+3', '-3']
data
|> Enum.map(&(String.to_integer))
|> Enum.sum
# Part 2
acc = {0, %{}}
data
|> Enum.map(&(String.to_integer))
|> Stream.cycle
|> Enum.reduce_while(acc, fn x, acc ->
{sum, mark} = acc;
sum = sum + x;
if Map.has_keys?(mark, sum) do
IO.puts sum
{:halt, {sum, mark}}
else
{:cont, {sum, mark}}
end
end)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment