My solutions for the Advent of Code 2023 (in Kotlin). Note that the vast majority of the scaffolding and util code was taken from my AoC-2022 repository from last year.
- Day 1: solved, 2 stars (input)
- Day 2: solved, 2 stars (input)
- Day 3: solved, 2 stars (input)
- Day 4: solved, 2 stars (input)
- Day 5: solved, 2 stars (input)
- Day 6: solved, 2 stars (input)
- Day 7: solved, 2 stars (input)
- input: All input files, named as
day${day-of-month}.txt
- output: Output files containing results (and possibly benchmarks) for the different days. Named
either
day${day-of-month}.txt
for a single day ordays.txt
for all outputs in one file - src/main/kotlin: Kotlin source root
- com.rtarita: packagae root
- days: package containing all AoC day solutions, beginning with a (fallback) Day 0 and going to Day 25.
Named
Day${day-of-month}.kt
- structure: package containing the infrastructure which defines how AoC Day challenges are defined, executed,
benchmarked, outputted and printed to files
- fmt: utility classes helping me to format the outputs of AoC challenges
- util: package for
.kt
files which contain top-level / extension utilities- ds: data structures
- graph: A graph data structure implemented based on adjacency lists
- heap: A heap data structure implemented based on an array
bitops.kt
: utilities related to bitwise operations or byte-level conversionscollections.kt
: various extensions related to kotlin standard collectionscomparisons.kt
: certain utilites concerningComparable
s andComparator
sgeneric.kt
: control flow or generic utilitiesinternal.kt
: internal utilites that are useful for maintaining the infrastructureio.kt
: utilities for reading from / writing to files, or working with paths and files in generalmaths.kt
: mathematical utilities, mostly definitions of stdlib functions for other numeric datatypesstrings.kt
: utilities related to strings and string manipulation
- ds: data structures
main.kt
: contains the main function which will execute the current AoC day challenge
- days: package containing all AoC day solutions, beginning with a (fallback) Day 0 and going to Day 25.
Named
- com.rtarita: packagae root
- other top-level files: build files, license, etc.