{"id":13624192,"url":"https://github.com/mebeim/aoc","last_synced_at":"2025-05-16T09:06:21.811Z","repository":{"id":46322483,"uuid":"160425765","full_name":"mebeim/aoc","owner":"mebeim","description":"🎄 My solutions and walkthroughs for Advent of Code and more related stuff.","archived":false,"fork":false,"pushed_at":"2024-12-25T06:27:23.000Z","size":23047,"stargazers_count":408,"open_issues_count":1,"forks_count":16,"subscribers_count":16,"default_branch":"master","last_synced_at":"2025-04-09T04:04:07.675Z","etag":null,"topics":["advent-of-code","algorithm-challenges","competitive-programming","programming-challenges","programming-puzzles","python","python3"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mebeim.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.Apache-2.0","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":"2018-12-04T22:15:15.000Z","updated_at":"2025-04-07T10:27:01.000Z","dependencies_parsed_at":"2023-12-20T10:57:17.026Z","dependency_job_id":"fffe15c7-8425-447b-857f-95167363e961","html_url":"https://github.com/mebeim/aoc","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/mebeim%2Faoc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mebeim%2Faoc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mebeim%2Faoc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mebeim%2Faoc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mebeim","download_url":"https://codeload.github.com/mebeim/aoc/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254501558,"owners_count":22081528,"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","algorithm-challenges","competitive-programming","programming-challenges","programming-puzzles","python","python3"],"created_at":"2024-08-01T21:01:39.916Z","updated_at":"2025-05-16T09:06:16.804Z","avatar_url":"https://github.com/mebeim.png","language":"Python","readme":"Advent of Code\n==============\n\nPersonal repository of [Advent of Code](#about-advent-of-code) solutions.\n\n### Quick links\n\n- **[How to run my solutions on your inputs][how-to-run]**\n- **AoC 2024: [walkthrough][2024-wal], [clean][2024-sol] / [original][2024-ori] solutions**\n- AoC 2023: [walkthrough][2023-wal], [clean][2023-sol] / [original][2023-ori] solutions, complete [calendar][2023-cal] and [leaderboard][2023-lea]\n- AoC 2022: [walkthrough][2022-wal], [clean][2022-sol] / [original][2022-ori] solutions, complete [calendar][2022-cal] and [leaderboard][2022-lea]\n- AoC 2021: [walkthrough][2021-wal], [clean][2021-sol] / [original][2021-ori] solutions, complete [calendar][2021-cal] and [leaderboard][2021-lea]\n- AoC 2020: [walkthrough][2020-wal], [clean][2020-sol] / [original][2020-ori] solutions, complete [calendar][2020-cal] and [leaderboard][2020-lea]\n- AoC 2019: [walkthrough][2019-wal], [clean][2019-sol] / [original][2019-ori] solutions, complete [calendar][2019-cal] and [leaderboard][2019-lea]\n- AoC 2018: [clean][2018-sol] / [original][2018-ori] solutions, complete [calendar][2018-cal] and [leaderboard][2018-lea]\n\n\nAbout Advent of Code\n--------------------\n\n[Advent of Code][aoc-about] is an Advent calendar of small programming puzzles\nfor a variety of skill sets and skill levels that can be solved in any\nprogramming language you like. One programming puzzle a day is released from 1st\nto 25th December, divided in two parts (the second of which is unlocked after\nsolving the first). Advent of Code is created by [Eric Wastl][aoc-eric], and is\n100% free. If you like Advent Of Code and want to support its creator, you can\ndonate to him [here][aoc-support]. If you want to hang out with other fellow\ncoders, discuss about puzzles and solutions, or just have a look around, you can\njoin the official subreddit: [r/adventofcode][aoc-reddit], or the unofficial IRC\nchannel: `#adventofcode` on `irc.libera.chat`, where you can also find me at the\nright time of the year.\n\n\nAbout this repository\n---------------------\n\nI discovered Advent of Code in 2017, and played my first edition in 2018. In\nthis repository you can find my solutions and walkthroughs for the puzzles as\nwell as other miscellaneus stuff like visualizations and other scripts.\n\n**In each year's directory** you will find:\n\n- `README.md`: an in depth walkthrough of my (clean) solutions for the puzzle,\n  day by day, with references to used algorithms and data structures and\n  sometimes also comments/reflections.\n- `solutions/`: clean solutions for the puzzles. I usually rewrite, polish and\n   optimize my original solutions whenever I have time after my first solve,\n   along with a detailed walkthrough.\n- `original_solutions/`: my *almost unedited* original solutions for the\n  puzzles, written as fast as I could while trying to solve puzzles for the\n  first time. These solutions may use helpers I defined in my own `utils`\n  module, as well as other external modules to make things easier. Do not expect\n  the code in here to be sane/readable/fast\u003csup\u003e**[1]**\u003c/sup\u003e.\n- `lib/`: small library of utilities written for this specific year. There are\n  recurring concepts and problems each year. If needed, this directory will hold\n  common code used by multiple solutions.\n- `misc/`: anything else interesting. This includes image/video visualizations\n  of puzzles, additional interesting scripts, alternative solutions, and so on.\n\n   - `full_leaderboard.md`: a complete leaderboard of all participants of\n     Advent of Code for the year, including those who did not make it to the top\n     100, built by scraping each day's leaderboard.\n   - `calendar.gif`: a GIF of the animated complete calendar for the year.\n     That is, if I managed to finish all puzzles.\n\n\u003csup\u003e**[1]** I chose to upload \"original\" versions of solutions for two reasons:\nthey are a good and fun way to see how I code, and they can be uploaded as soon\nas the leaderboard for the day is complete, as I often don't have time to\nrewrite them more cleanly right away.\u003c/sup\u003e\n\n\nHow to run my solutions\n-----------------------\n\nYou can provide your input from standard input:\n\n```bash\n2022/solutions/day01.py\n# Paste input here and type CTRL+D when done...\n```\n\nYou can save your input to file and pass its path as argument:\n\n```bash\n2022/solutions/day01.py path/to/your/input.txt\n```\n\nOr you can directly download your input from the AoC website. You will need to\nextract your session cookie from your browser and replace `VALUE` below with the\nreal value, please *only do this if you understand what you are doing*.\n\n```bash\ncurl -s --cookie 'session=VALUE' 'https://adventofcode.com/2022/day/1/input' | 2022/solutions/day01.py\n```\n\n\nContributing\n------------\n\nIf you have question or spotted a typo/bug/mistake, you are most welcome to\n[submit a new issue][new-issue]. For pull reqeusts and other kinds of\ncontributions, please read [`CONTRIBUTING.md`][contributing].\n\n\nLicensing\n---------\n\nThe content of this repository, *with the exception of walkthroughs* (as defined\nin and linked at the top of this document), is licensed under the\n[Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0) license, which\nyou can find in the file [`LICENSE.Apache-2.0`](/LICENSE.Apache-2.0).\nWalkthroughs are licensed under the\n[Creative Commons BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/)\nlicense, which you can find in the file\n[`LICENSE.CC-BY-NC-SA-4.0`](/LICENSE.CC-BY-NC-SA-4.0).\n\n---\n\n*Copyright \u0026copy; 2018-2024 Marco Bonelli.*\n\n[2024-wal]: 2024/README.md\n[2024-sol]: 2024/solutions\n[2024-ori]: 2024/original_solutions\n\n[2023-wal]: 2023/README.md\n[2023-sol]: 2023/solutions\n[2023-ori]: 2023/original_solutions\n[2023-cal]: 2023/misc/calendar.gif\n[2023-lea]: 2023/misc/full_leaderboard.md\n\n[2022-wal]: 2022/README.md\n[2022-sol]: 2022/solutions\n[2022-ori]: 2022/original_solutions\n[2022-cal]: 2022/misc/calendar.gif\n[2022-lea]: 2022/misc/full_leaderboard.md\n\n[2021-wal]: 2021/README.md\n[2021-sol]: 2021/solutions\n[2021-ori]: 2021/original_solutions\n[2021-cal]: 2021/misc/calendar.gif\n[2021-lea]: 2021/misc/full_leaderboard.md\n\n[2020-wal]: 2020/README.md\n[2020-sol]: 2020/solutions\n[2020-ori]: 2020/original_solutions\n[2020-cal]: 2020/misc/calendar.gif\n[2020-lea]: 2020/misc/full_leaderboard.md\n\n[2019-wal]: 2019/README.md\n[2019-sol]: 2019/solutions\n[2019-ori]: 2019/original_solutions\n[2019-cal]: 2019/misc/calendar.gif\n[2019-lea]: 2019/misc/full_leaderboard.md\n\n[2018-wal]: 2018/README.md\n[2018-sol]: 2018/solutions\n[2018-ori]: 2018/original_solutions\n[2018-cal]: 2018/misc/calendar.gif\n[2018-lea]: 2018/misc/full_leaderboard.md\n\n[how-to-run]:   #how-to-run-my-solutions\n[contributing]: /CONTRIBUTING.md\n[new-issue]:    https://github.com/mebeim/aoc/issues/new\n\n[aoc-about]:   https://adventofcode.com/2019/about\n[aoc-eric]:    https://twitter.com/ericwastl\n[aoc-support]: https://adventofcode.com/2019/support\n[aoc-reddit]:  https://www.reddit.com/r/adventofcode/\n\n[paypal-donate-btn]: https://www.paypal.com/donate/?hosted_button_id=FFGV44B3SLHBL\u0026locale.x=en_IT\n","funding_links":["https://www.paypal.com/donate/?hosted_button_id=FFGV44B3SLHBL\u0026locale.x=en_IT"],"categories":["🎄 2024 AoC Solutions","Python"],"sub_categories":["Solutions"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmebeim%2Faoc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmebeim%2Faoc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmebeim%2Faoc/lists"}