{"id":21405894,"url":"https://github.com/anamba/adventofcode2019","last_synced_at":"2025-03-16T17:12:59.230Z","repository":{"id":144806937,"uuid":"225129005","full_name":"anamba/adventofcode2019","owner":"anamba","description":"AoC in Elixir","archived":false,"fork":false,"pushed_at":"2019-12-25T05:52:01.000Z","size":123,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-23T03:43:46.212Z","etag":null,"topics":["advent-of-code","advent-of-code-2019","elixir","elixir-examples","elixir-lang","elixir-language","elixir-programming-language"],"latest_commit_sha":null,"homepage":"https://adventofcode.com/2019","language":"Elixir","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/anamba.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-12-01T08:25:48.000Z","updated_at":"2019-12-25T05:52:04.000Z","dependencies_parsed_at":null,"dependency_job_id":"55a8d5e4-cdaa-4ae6-b681-1e034e3b15a9","html_url":"https://github.com/anamba/adventofcode2019","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anamba%2Fadventofcode2019","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anamba%2Fadventofcode2019/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anamba%2Fadventofcode2019/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anamba%2Fadventofcode2019/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/anamba","download_url":"https://codeload.github.com/anamba/adventofcode2019/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243902294,"owners_count":20366260,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["advent-of-code","advent-of-code-2019","elixir","elixir-examples","elixir-lang","elixir-language","elixir-programming-language"],"created_at":"2024-11-22T16:28:59.697Z","updated_at":"2025-03-16T17:12:59.208Z","avatar_url":"https://github.com/anamba.png","language":"Elixir","readme":"# Advent of Code 2019\n\n[Advent of Code 2019](https://adventofcode.com/2019) solutions (spoilers, obviously, if you're not caught up).\n\nI'm trying [Elixir](https://elixir-lang.org/) this year ([last year](https://github.com/anamba/adventofcode2018) I used [Crystal](https://crystal-lang.org/)). It's a language I like a lot, but am not yet intimately familiar with. So some after-action thoughts follow.\n\n## Day 1\n\n* Decided to give doctests a try. Pretty great for TDD, which is how I do AoC. (I'll never place in the top 100, but when I'm done, I'm done, and I rarely submit wrong answers.) Especially great when paired with `mix_test_watch`.\n\n## Day 3\n\n* ~~Wish I'd known about MapSet! That probably would have made calculating intersections easier.~~ I'm still glad I learned about MapSet, but it doesn't allow duplicate values, which might make it a bad fit for this particular case.\n\n## Day 4\n\n* Was afraid my regex with backreferences might be slow, but the strings involved are so short it didn't matter.\n* Forgot about the `:discard` option on `chunk_every`. Ack.\n* Also forgot about `chunk_by(\u0026 \u00261)`/`group_by(\u0026 \u00261)`, even better.\n\n## Day 6\n\n* Knowing about `:digraph` would have made this a lot easier.\n\n## Day 7\n\n* Briefly considered going all in on processes and messages and all that, but ended up just making the fewest changes possible.\n* Revised the following day to use processes, which turned out to require even fewer changes than avoiding processes! Ha.\n\n## Day 11\n\n* My program doesn't actually halt, but does give the right answer. Didn't have time to figure that out.\n\n## Day 14\n\n* Started to write something for Part 2, but ended up doing it manually.\n\n## Day 15\n\n* Did this one while watching TV. Turned in best rank yet. New strategy?\n\n## Day 16\n\n* Finished Part 1, but couldn't get Part 2. I basically failed linear algebra in college, but was saved by a pilot math program that averaged that grade out with a subject I grasped a little better. But that means I never did learn linear algebra.\n* Finally assembled a solution for Part 2 a couple days later.\n\n## Day 17\n\n* Part 1 was very straightforward, but solved part 2 by hand. Kinda fun at first, but became tedious.\n\n## Day 18\n\n* Another BFS problem, I reeeeally need to learn this someday. They kicked my ass last year, too.\n\n## Day 20\n\n* Pretty sure I know what needs to be done here (BFS again, my nemesis), but... meh\n\n## Day 21\n\n* No coding! Just boolean logic. This was an easy one.\n\n## Day 23\n\n* Fairly easy (just got a late start).","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanamba%2Fadventofcode2019","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fanamba%2Fadventofcode2019","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanamba%2Fadventofcode2019/lists"}