Skip to content

Welcome to Advent of Code 2024! πŸŽ„βœ¨ This repository contains solutions, notes, and resources for the Advent of Code 2024 challenge. Whether you're here to collaborate, compare solutions, or just curious about my approach, you're in the right place!

License

Notifications You must be signed in to change notification settings

matteo-campana/Advent-Of-Code

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

52 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Advent of Code 2024

Welcome to Advent of Code 2024! πŸŽ„βœ¨ This repository contains solutions, notes, and resources for the Advent of Code 2024 challenge. Whether you're here to collaborate, compare solutions, or just curious about my approach, you're in the right place!


🌟 What is Advent of Code?

Advent of Code is an annual event featuring daily programming puzzles during December. Each day from December 1st to December 25th, a new puzzle is released at midnight EST. These puzzles test your problem-solving skills and programming abilities across a wide range of topics, including algorithms, data structures, and more.


πŸ—‚οΈ Repository Structure

.
β”œβ”€β”€ puzzles/
β”‚   β”œβ”€β”€ day1/
β”‚   β”‚   β”œβ”€β”€ Solution.java
β”‚   β”‚   β”œβ”€β”€ README.md
β”‚   β”œβ”€β”€ day2/
β”‚   β”‚   β”œβ”€β”€ Solution.java
β”‚   β”‚   β”œβ”€β”€ README.md
β”œβ”€β”€ utils/
β”‚   β”œβ”€β”€ Utils.java         # Common helper functions used across days
β”œβ”€β”€ resources/
β”‚   β”œβ”€β”€ day1/
β”‚   β”‚   β”œβ”€β”€ input.txt
β”‚   β”œβ”€β”€ day2/
β”‚   β”‚   β”œβ”€β”€ input.txt
β”œβ”€β”€ LICENSE                # Repository license
└── README.md              # This file

Files and Folders

  • dayXX/: Each folder represents one day of the challenge, containing the input, solution, and an explanation of the approach.
  • utils/: Shared utilities and helper functions.
  • resources/: Input files for each day's puzzle.
  • LICENSE: Licensing information for this repository.
  • README.md: Overview of the repository (this file).

πŸš€ Getting Started

Prerequisites

  • Java 23 or later
  • Basic understanding of programming concepts and algorithms

Running Solutions

  1. Clone the repository:

    git clone https://github.com/matteo-campana/advent-of-code.git
    cd advent-of-code-2024
  2. Navigate to the day's folder:

     cd puzzles/day1
  3. Compile and run the solution:

    javac Solution.java
    java Solution

πŸ§‘β€πŸ’» How to Contribute

  1. Fork the repository and create a new branch.
  2. Add your solution or improvement.
  3. Create a pull request and include a brief explanation of your changes.

πŸ“š Resources


πŸ’‘ Tips for Solving Puzzles

  1. Read the problem statement carefully.
  2. Break the problem into smaller, manageable steps.
  3. Write tests to validate your solution with sample inputs.
  4. Optimize only after getting a correct solution.

🏷️ License

This repository is licensed under the MIT License. See the LICENSE file for details.


πŸ™Œ Acknowledgments

  • Thanks to Eric Wastl for creating and maintaining Advent of Code.
  • Thanks to the Advent of Code community for their support and collaboration.

Good luck, and happy coding! πŸŽ…πŸŽ

About

Welcome to Advent of Code 2024! πŸŽ„βœ¨ This repository contains solutions, notes, and resources for the Advent of Code 2024 challenge. Whether you're here to collaborate, compare solutions, or just curious about my approach, you're in the right place!

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages