NobbZ
Advent of Code - Day 2
Note by the Moderators: This topic is to talk about the Day 2 of the Advent of Code.
For general discussion about the Advent of Code 2018 and links to topics of the other days, see this topic.
This is my todays code:
I’m not quite happy with it though, but it runs in ~4ms/~8ms, so I leave it as is for now.
Most Liked
yawaramin
I’m pretty happy with my solutions so far, especially for Day 2 Part 2 I felt I was able to take advantage of a few things, especially a comprehension to structure it nicely:
sorentwo
I’m doing my problems in Elixir this year as well: http://github.com/sorentwo/aoc_2018
My solution today seems a little different from the others I’ve seen. I made use of String.myers_difference/2 for the second part:
def common(addresses) do
pairings = for add_a <- addresses, add_b <- addresses, add_a != add_b, do: {add_a, add_b}
Enum.reduce_while(pairings, nil, fn {add_a, add_b}, _ ->
case String.myers_difference(add_a, add_b) do
[eq: _, del: << char :: size(8) >>, ins: _, eq: _] ->
{:halt, String.replace(add_a, IO.chardata_to_string([char]), "")}
_ -> {:cont, nil}
end
end)
end
There are two other possible edit scripts that could have matched (first character or last character being the difference), but this worked for my inputs.







