Skip to content

chrisiphique/advent-of-code-2017

Repository files navigation

Advent of Code 2017 🎄

Welcome to the Advent of Code 2017 repository! This project features solutions to the Advent of Code challenges from 2017, implemented in both Java and Kotlin. Each day presents a new puzzle that tests your programming skills and problem-solving abilities. Dive in and explore the solutions, or use them as inspiration for your own coding journey.

Table of Contents

About Advent of Code

Advent of Code is an annual event that challenges developers with daily programming puzzles during the holiday season. Each day, a new problem is unlocked, and participants can solve it in any programming language they prefer. The event encourages learning and community engagement.

Repository Overview

This repository contains solutions for all 25 challenges from the Advent of Code 2017. The solutions are organized by day, and you can find implementations in both Java and Kotlin. The goal is to provide clear, efficient, and well-documented code that can serve as a reference for others.

Technologies Used

  • Java: A versatile programming language that is widely used in various applications.
  • Kotlin: A modern programming language that runs on the Java Virtual Machine (JVM) and is known for its concise syntax and safety features.

Getting Started

To get started with this repository, you will need to clone it to your local machine. You can do this using the following command:

git clone https://github.com/chrisiphique/advent-of-code-2017.git

Once you have cloned the repository, navigate to the directory:

cd advent-of-code-2017

Prerequisites

Make sure you have the following installed:

  • Java Development Kit (JDK)
  • Kotlin Compiler

You can download the JDK from the Oracle website and the Kotlin compiler from the Kotlin website.

Running the Solutions

To run the solutions, you will need to navigate to the specific day's folder and execute the Java or Kotlin files. For example, to run Day 1's solution, you would do the following:

Java

cd day01
javac Solution.java
java Solution

Kotlin

cd day01
kotlinc Solution.kt -include-runtime -d Solution.jar
java -jar Solution.jar

You can find the compiled solutions in the respective day folders. For a complete list of releases, check the Releases section.

Contributing

Contributions are welcome! If you would like to add your own solutions or improve existing ones, please follow these steps:

  1. Fork the repository.
  2. Create a new branch for your feature or fix.
  3. Make your changes.
  4. Commit your changes and push to your branch.
  5. Open a pull request.

Your contributions can help others learn and improve their coding skills.

License

This project is licensed under the MIT License. Feel free to use the code for personal or educational purposes.

Links

For more information and to download the latest releases, visit the Releases section.

Download Releases

Challenges Overview

Here is a brief overview of the challenges for each day:

  • Day 1: Inverse Captcha
  • Day 2: Corruption Checksum
  • Day 3: Spiral Memory
  • Day 4: High-Entropy Passphrases
  • Day 5: A Maze of Twisty Trampolines, All Alike
  • Day 6: Memory Reallocation
  • Day 7: Recursive Circus
  • Day 8: I Heard You Like Registers
  • Day 9: Stream Processing
  • Day 10: Knot Hash
  • Day 11: Hex Ed
  • Day 12: Digital Plumber
  • Day 13: Packet Scanners
  • Day 14: Disk Defragmentation
  • Day 15: Dueling Generators
  • Day 16: Permutation Promenade
  • Day 17: Spinlock
  • Day 18: Duet
  • Day 19: A Series of Tubes
  • Day 20: Particle Swarm
  • Day 21: Fractal Art
  • Day 22: Sporifica Virus
  • Day 23: Coprocessor Conflation
  • Day 24: Air Duct Spelunking
  • Day 25: The Halting Problem

Community Engagement

Engaging with the community is an essential part of the Advent of Code experience. Many developers share their solutions, discuss strategies, and learn from one another. Join forums, Discord servers, or Reddit threads to connect with others who are participating in the event.

Conclusion

Thank you for visiting the Advent of Code 2017 repository. We hope you find the solutions helpful and inspiring. Feel free to explore the code, learn from it, and contribute your own solutions. Happy coding!