Skip to content

Latest commit

 

History

History
51 lines (31 loc) · 3.17 KB

README.md

File metadata and controls

51 lines (31 loc) · 3.17 KB

⌨️ Advent of Code 2023 solutions

This repository contains my solutions to the Advent of Code 2023 challenges. Advent of Code is an Advent calendar of small programming puzzles for a variety of skill sets and skill levels.

meme_picture

Challenges

The challenges are designed to be solved in any programming language and cover a wide range of topics, including:

  • Parsing and processing text
  • Implementing algorithms and data structures
  • Simulating simple systems and state machines
  • Solving mathematical problems

Each day's challenge is divided into two parts, with the second part typically building upon the first part in some way. The challenges are designed to be approachable for beginners, but also offer a challenge for more experienced programmers.

Directory structure

Each day of the Advent of Code challenge is organized into its own directory, named dayXX, where XX is the day of the challenge (e.g., day01, day02, etc.). Inside most of the day's directories, you will find the following files:

  • app_01.js: The solution to the first part of the day's challenge.
  • app_02.js: The solution to the second part of the day's challenge.
  • input.txt: The input data provided by the Advent of Code system for the day's challenge.
  • test_input.txt: A sample of the input data for testing purposes.

For the problems that I found very challenging, several attemps were necessary, and there might be some additional files containing various attemps, such as app_03.js etc.

Running the challenges

From my side, I used JavaScript to solve these challenges and from day08, took the opportunity to try Bun as a new Javascript runtime, just for the sake of installing it on my machine and trying something new, even if in this context, nothing leverage the various "selling points" of Bun. You can navigate through the directory and run bun app_01.js or bun app_02.js (it should also work with node app_01.js or node app_02.js also) to get the answers of the challenges. Note that each participant gets a different dataset to work on, therefore, the answers of "my" challenges may not be the same as yours.

Disclaimer

Some of these mind twisting challenges remained unsolved unfortunatly, notably the day03 part02 and day05 part02.

Some of the answers to these challenges are not optimized, meaning that it might be necessary to let the script run for a long time before getting the answer of the challenge. I tried to focus on solving the challenges in the first place, and then, if time allows me, I can spend time in solving the challenges in a good way. The objective being to take some pleasure in this experience, I really looked for the "excitement rush" of getting the answers right rather than getting the answers beautifully. The objective is to learn things and to have fun after all.

Contact information

You can contact me via:

License

This project and work is licensed under the CC0 license.