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: GitHub - sorentwo/aoc_2018: Advent of Code 2018 · GitHub
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.
Popular in Challenges
Other popular topics
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #deployment
- #library
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #channels
- #elixirconf
- #exunit
- #discussion
- #code-sync
- #javascript
- #podcasts
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #elixir-ls
- #phoenix_html
- #iex
- #blog-post
- #graphql
- #genstage
- #ai
- #websockets
- #supervisor
- #advent-of-code
- #elixirconf-us
- #distillery
- #processes
- #forms
- #api
- #metaprogramming
- #security
- #performance









