Advent of Code 2024 - Info Post
It's the most festive time of the year - Advent of Code! The highlight of every coder's December 🎄❄️💻🎉
Here's everything about my participation, I will link to this from every days' post.
What even IS Advent of Code??!!
Good question, my friend. Here is this year’s about page: https://adventofcode.com/2024/about and it says:
Advent of Code is an Advent calendar of small programming puzzles for a variety of skill levels that can be solved in any programming language you like. People use them as interview prep, company training, university coursework, practice problems, a speed contest, or to challenge each other.
If you’re wondering why you should participate, read my Advent Of Code 2022 – 7 Reasons why you should participate article - my thoughts have not changed much in the last few years.
My GitHub Repository for Advent Of Code
https://github.com/GalaxyInfernoCodes/Advent_Of_Code_2024
Like every year, I will upload all the solutions I figure out onto GitHub. I'm using Python and will do my best to write some "clean" .py
files. I will probably experiment in .ipynb
Jupyter notebooks too though.
The topic of examples and inputs
To parse the input I always put the text into a .txt
file and read from there. This strategy means I can easily switch between the example
, which is included in the puzzle description and public, including its solution, and the final input
each of us gets (the input should be kept private).
I save all inputs in my repository under /inputs/
in the format example_day{day_nr}.txt
and input_day{day_nr}.txt
. The later will not be uploaded, you need to create your own if you want to use my code.
If you're posting a code repository somewhere, please don't include parts of Advent of Code like the puzzle text or your inputs.
(from the official "about" page)
My IDE/editor and policies on AI
Locally, I use in VSCode/Cursor as my IDE, but you can work with whatever you know best.
I will not use AI/ChatGPT to solve the problems, but I do have AI extensions active in my editor all year long, which I will likely use for faster refactoring - don't worry, I will never enter any AI code in the leaderboards.
Here is the official FAQ on AI from https://adventofcode.com/2024/about:
Can I use AI to get on the global leaderboard?
Please don't use AI / LLMs (like GPT) to automatically solve a day's puzzles until that day's global leaderboards are full. By "automatically", I mean using AI to do most or all of the puzzle solving, like handing the puzzle text directly to an LLM. The leaderboards are for human competitors; if you want to compare the speed of your AI solver with others, please do so elsewhere. (If you want to use AI to help you solve puzzles, I can't really stop you, but I feel like it's harder to get better at programming if you ask an AI to do the programming for you.)