This repository houses my solutions to Advent of Code problems. The solutions are written in Python. As a personal challenge, I aim for optimal, readable and beginner-friendly solutions that serve as learning resources for others interested in problem-solving.
Follow along with my solutions in this repository. Please note that input files are not included due to copyright and Eric Wastl's request. You will need to adjust file paths to run the code.
Day | Solution to Part 1 | Solution to Part 2 | Pseudocode for Part 1 | Pseudocode for Part 2 |
---|---|---|---|---|
01 | Solution | "Solution" | pseudocode | |
02 | "Solution" | "Solution" | ||
03 | "Solution" | "Solution" | ||
04 | "Solution" | "Solution" | ||
06 | "Solution" | "Solution" |
- day-x
part-one.py
part-two.py
- day-x
pseudocode01.txt
pseudocode02.txt
Contributions and improvements are welcome! Here are a few ways you can contribute:
-
Rewriting Solutions: Some of the solutions in this repository were generated quickly and may not be the most readable or elegant. Solutions marked with quotes
"Solution"
were written on the fly and need to be rewritten to cover proper naming of variables, etc. You can contribute by rewriting solutions to improve readability or to explore different problem-solving approaches. -
Providing Pseudocode: If you have insights or ideas on how to solve specific Advent of Code problems, feel free to share them! Adding your pseudocode to the
pseudocode
directory within each day's solution can be immensely helpful for others. Pseudocode provides a high-level outline of the solution algorithm without getting into specific syntax, making it accessible to a wide audience and aiding in understanding different problem-solving strategies. -
Adding New Approaches: If you have alternative solutions to any of the problems, particularly those that demonstrate different algorithms or programming techniques, please contribute them! Providing diverse solutions can help learners understand various problem-solving strategies.
Please follow these guidelines when contributing:
- Fork the Repository: Before making any changes, fork this repository to your GitHub account.
- Create a Branch: For each contribution, create a new branch with a descriptive name.
- Make Changes: Make your desired changes, whether it's rewriting solutions, adding pseudocode, or introducing new approaches.
- Test Changes: Ensure that your changes do not break existing functionality. If you're adding new solutions, test them thoroughly.
- Submit a Pull Request: Once your changes are ready, submit a pull request to merge your branch into the main repository. Be sure to provide a clear description of your changes.
Together, we can make this repository a valuable resource for Advent of Code enthusiasts, fostering learning and problem-solving skills for everyone involved!