1
0
mirror of https://github.com/chylex/Advent-of-Code.git synced 2025-03-05 06:32:53 +01:00
My solutions to https://adventofcode.com.
Go to file
2022-02-24 20:25:31 +01:00
.idea Add 2020 - Day 6 - Part 1 2022-02-24 20:25:31 +01:00
2015 Add 2015 - Day 3 - Part 2 2022-02-22 06:09:40 +01:00
2020 Add 2020 - Day 6 - Part 1 2022-02-24 20:25:31 +01:00
2021 Add 2021 - Day 8 - Part 1 2021-12-14 20:37:37 +01:00
gradle/wrapper Add Gradle wrapper & rename run configurations 2021-12-01 06:37:21 +01:00
.gitignore Reorganize CMake project & update README 2022-02-11 06:49:33 +01:00
build.gradle.kts Add Rust project for 2020 & update README 2022-02-22 14:23:19 +01:00
gradle.properties Add Gradle wrapper & rename run configurations 2021-12-01 06:37:21 +01:00
gradlew Add Gradle wrapper & rename run configurations 2021-12-01 06:37:21 +01:00
gradlew.bat Add Gradle wrapper & rename run configurations 2021-12-01 06:37:21 +01:00
LICENSE Initial commit 2021-11-30 01:22:59 +01:00
README.md Add 2020 - Day 4 - Part 1 2022-02-23 14:20:32 +01:00
settings.gradle.kts Add Gradle wrapper & rename run configurations 2021-12-01 06:37:21 +01:00

These are my solutions to Advent of Code puzzles!

This repository is likely going to be an utter mess of programming languages. If you're interested, read below for the list of used languages, and some info to hopefully get them working on your machine.

I have included Run Configurations for JetBrains IDEs, so if you use the appropriate IDE or IntelliJ language plugin, you should see each solved day in the Run/Debug Configurations menu.

Languages

[2021] Kotlin

The repository contains a Gradle project (build.gradle.kts) that sets up every day as a module. You should be able to load the Gradle project into IntelliJ IDEA.

The source code is in main.kt. The run configuration executes the main() method in this file.

[2020] Rust

The repository contains a Cargo project (2020/Cargo.toml) that sets up every day as a binary target that can be launched with cargo run --bin <day>, for ex. cargo run --bin 01. You should be able to load the Cargo project into CLion.

The source code is in main.rs. The run configuration executes the main() function in this file.

[2015] NASM x64 Assembly

The repository contains a CMake project (2015/CMakeLists.txt) in the respective year's folder, which sets up every day as a CMake subproject. You should be able to load the CMake project into CLion, as long as you have a toolchain named Visual Studio x64 set to use the amd64 architecture.

The source code is in main.c, which is either in the puzzle's own folder, or in utils if no adjustments are needed. By default, main.c reads the whole input file into a buffer, and passes it as a parameter to the entryPoint function defined in main.asm which implements the logic and output of each puzzle.

Note that everything is targeted for Windows and assembly is not portable, so running on a different OS will most likely require some changes. You will need to:

  1. Install Visual Studio with MSVC x64/x86 Build Tools
  2. Install NASM (the "Executable only" version will suffice, as long as you setup the system %PATH% environment variable to include the folder with nasm.exe)

The versions should not matter, but I used Visual Studio 2019 with MSVC v142 (14.29) and NASM 2.15.05.

Solved Days

Year Day Language
2015 01 NASM x64
2015 02 NASM x64
2020 01 Rust
2020 02 Rust
2020 03 Rust
2020 04 Rust
2021 01 Kotlin
2021 02 Kotlin
2021 03 Kotlin
2021 04 Kotlin
2021 05 Kotlin
2021 06 Kotlin
2021 07 Kotlin
2021 08 Kotlin