https://github.com/chrisiphique/advent-of-code-2017
Advent of Code 2017 in Java & Kotlin
https://github.com/chrisiphique/advent-of-code-2017
advent advent-of-code-2024 adventofcode2016 adventofcode2020 aoc-2024 bucklescript java kotlin ocaml puzzle puzzle-solution python scalacheck scalameter
Last synced: 29 days ago
JSON representation
Advent of Code 2017 in Java & Kotlin
- Host: GitHub
- URL: https://github.com/chrisiphique/advent-of-code-2017
- Owner: chrisiphique
- License: apache-2.0
- Created: 2025-04-29T12:56:00.000Z (about 1 month ago)
- Default Branch: main
- Last Pushed: 2025-04-29T15:33:23.000Z (30 days ago)
- Last Synced: 2025-04-29T16:41:30.729Z (30 days ago)
- Topics: advent, advent-of-code-2024, adventofcode2016, adventofcode2020, aoc-2024, bucklescript, java, kotlin, ocaml, puzzle, puzzle-solution, python, scalacheck, scalameter
- Language: Kotlin
- Size: 7.58 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 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](#about-advent-of-code)
- [Repository Overview](#repository-overview)
- [Technologies Used](#technologies-used)
- [Getting Started](#getting-started)
- [Running the Solutions](#running-the-solutions)
- [Contributing](#contributing)
- [License](#license)
- [Links](#links)## 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:
```bash
git clone https://github.com/chrisiphique/advent-of-code-2017.git
```Once you have cloned the repository, navigate to the directory:
```bash
cd advent-of-code-2017
```### Prerequisites
Make sure you have the following installed:
- Java Development Kit (JDK)
- Kotlin CompilerYou can download the JDK from the [Oracle website](https://www.oracle.com/java/technologies/javase-jdk11-downloads.html) and the Kotlin compiler from the [Kotlin website](https://kotlinlang.org/docs/command-line.html).
## 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
```bash
cd day01
javac Solution.java
java Solution
```### Kotlin
```bash
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](https://github.com/chrisiphique/advent-of-code-2017/releases).
## 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](https://github.com/chrisiphique/advent-of-code-2017/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!