Advent of Code 2024 - Info Post

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 courseworkpractice 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.)