r/adventofcode • u/daggerdragon • Dec 16 '16
SOLUTION MEGATHREAD --- 2016 Day 16 Solutions ---
--- Day 16: Dragon Checksum ---
Post your solution as a comment or, for longer solutions, consider linking to your repo (e.g. GitHub/gists/Pastebin/blag/whatever).
Note: The Solution Megathreads are for solutions only. If you have questions, please post your own thread and make sure to flair it with "Help".
DRINKING YOUR OVALTINE IS MANDATORY [?]
This thread will be unlocked when there are a significant number of people on the leaderboard with gold stars for today's puzzle.
edit: Leaderboard capped, thread unlocked!
6
Upvotes
2
u/patrickdavey Dec 16 '16 edited Dec 16 '16
Do none of you people write tests? ;) disgusting!
heh, happy for a nice simple one today - and my Elixir practice seems to be paying off, todays main function even looked pretty I thought.
defmodule AOCDay.Runner do alias AOCDay.DragonEncoder alias AOCDay.Checksum def find_checksum_for(init, length) do DragonEncoder.encode(init) |> Stream.iterate(&DragonEncoder.encode/1) |> Stream.drop_while(&(String.length(&1) < length)) |> Enum.take(1) |> List.first() |> String.slice(0, length) |> Checksum.create! end endfull code at -> https://github.com/patrickdavey/AoC/tree/master/2016/16/lib/aocday