diff --git a/.idea/runConfigurations/2021___Day_02.xml b/.idea/runConfigurations/2021___Day_02.xml new file mode 100644 index 0000000..5d36df1 --- /dev/null +++ b/.idea/runConfigurations/2021___Day_02.xml @@ -0,0 +1,11 @@ +<component name="ProjectRunConfigurationManager"> + <configuration default="false" name="2021 - Day 02" type="JetRunConfigurationType"> + <option name="MAIN_CLASS_NAME" value="MainKt" /> + <module name="Advent_of_Code.2021-02" /> + <shortenClasspath name="NONE" /> + <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/2021/02" /> + <method v="2"> + <option name="Make" enabled="true" /> + </method> + </configuration> +</component> \ No newline at end of file diff --git a/2021/02/input/1.txt b/2021/02/input/1.txt new file mode 100644 index 0000000..396d1b2 --- /dev/null +++ b/2021/02/input/1.txt @@ -0,0 +1,1000 @@ +forward 2 +down 2 +forward 6 +forward 8 +down 8 +up 2 +forward 7 +forward 8 +down 1 +down 8 +forward 9 +down 1 +down 9 +up 9 +forward 8 +down 4 +forward 1 +forward 4 +up 3 +down 1 +up 4 +up 7 +down 8 +forward 8 +forward 9 +down 7 +forward 2 +up 2 +forward 3 +forward 2 +down 8 +up 3 +up 3 +forward 6 +down 5 +up 6 +down 3 +forward 4 +forward 2 +down 9 +down 9 +down 1 +down 3 +forward 7 +forward 4 +down 1 +down 3 +up 3 +up 9 +up 2 +down 6 +down 7 +forward 9 +down 7 +forward 3 +forward 5 +up 6 +up 4 +down 8 +down 6 +down 4 +up 2 +up 7 +up 8 +up 1 +forward 7 +up 9 +down 6 +up 7 +up 3 +forward 8 +up 9 +down 9 +up 2 +forward 8 +forward 4 +up 3 +forward 4 +up 2 +down 3 +up 7 +down 7 +forward 6 +forward 5 +forward 2 +forward 3 +up 2 +down 3 +up 6 +forward 2 +forward 4 +up 2 +down 6 +up 3 +down 8 +forward 7 +forward 8 +forward 3 +down 6 +forward 5 +forward 8 +down 6 +forward 4 +down 3 +up 2 +down 6 +down 5 +forward 8 +forward 8 +up 1 +down 9 +down 6 +forward 8 +up 1 +down 7 +forward 7 +up 4 +up 6 +down 3 +down 1 +up 9 +forward 8 +forward 1 +forward 2 +forward 2 +up 9 +up 4 +down 8 +up 9 +down 8 +forward 1 +forward 6 +up 3 +down 4 +forward 1 +down 5 +down 7 +down 9 +forward 1 +forward 1 +forward 5 +up 2 +up 4 +down 8 +forward 3 +forward 1 +forward 4 +down 6 +up 4 +up 4 +down 6 +up 9 +down 2 +up 6 +forward 5 +forward 5 +forward 1 +down 2 +up 1 +forward 6 +up 7 +forward 4 +up 3 +forward 3 +forward 8 +up 5 +forward 4 +up 3 +forward 9 +down 4 +down 8 +down 8 +forward 8 +forward 4 +down 5 +up 8 +down 4 +up 9 +forward 5 +up 3 +forward 8 +forward 3 +forward 7 +forward 5 +forward 3 +down 4 +down 3 +forward 9 +down 9 +forward 3 +down 7 +forward 8 +down 3 +forward 7 +forward 5 +up 6 +up 1 +forward 3 +down 3 +up 3 +down 1 +forward 8 +forward 5 +forward 1 +forward 6 +forward 9 +up 5 +down 5 +down 9 +forward 2 +down 5 +down 4 +up 9 +forward 9 +forward 7 +down 8 +up 3 +down 7 +down 1 +down 2 +down 4 +forward 2 +forward 7 +forward 3 +down 5 +down 3 +up 3 +down 4 +down 1 +forward 9 +down 1 +forward 4 +forward 6 +forward 7 +down 8 +up 4 +up 3 +down 4 +forward 5 +down 9 +down 1 +down 9 +up 9 +forward 6 +forward 7 +down 2 +up 1 +forward 8 +up 3 +forward 9 +forward 1 +up 9 +down 4 +forward 8 +forward 4 +forward 3 +forward 7 +forward 1 +forward 5 +forward 5 +forward 7 +down 8 +forward 1 +up 8 +forward 7 +up 8 +forward 2 +forward 7 +forward 3 +down 2 +forward 2 +forward 6 +down 7 +down 1 +up 2 +down 7 +up 3 +down 8 +down 4 +forward 2 +down 6 +forward 4 +down 8 +down 9 +forward 2 +down 2 +down 1 +forward 7 +up 2 +down 2 +forward 8 +forward 3 +down 9 +down 4 +down 5 +forward 6 +forward 2 +down 7 +up 7 +forward 1 +down 7 +down 3 +up 5 +down 8 +down 2 +down 2 +up 1 +forward 6 +up 2 +down 3 +up 1 +down 9 +forward 5 +forward 5 +up 5 +down 1 +down 7 +down 2 +forward 5 +down 6 +up 6 +forward 3 +down 1 +up 3 +forward 3 +down 7 +forward 5 +down 8 +down 5 +down 7 +down 7 +down 2 +forward 8 +down 7 +down 2 +up 7 +down 6 +down 8 +up 7 +forward 5 +up 8 +down 1 +forward 5 +down 2 +forward 3 +down 9 +down 7 +forward 3 +up 9 +up 7 +down 5 +down 3 +forward 3 +down 7 +forward 6 +forward 2 +up 9 +down 6 +up 4 +down 3 +up 3 +up 6 +up 1 +down 1 +down 7 +forward 7 +down 1 +up 1 +forward 6 +down 2 +up 6 +forward 4 +down 9 +forward 1 +forward 3 +down 1 +forward 9 +forward 1 +forward 5 +down 1 +down 8 +down 7 +down 7 +down 3 +up 1 +down 6 +down 2 +forward 3 +forward 8 +down 6 +down 8 +down 1 +down 6 +forward 5 +down 2 +down 6 +forward 7 +down 6 +forward 2 +forward 3 +down 8 +forward 4 +down 5 +down 1 +up 7 +forward 3 +forward 1 +forward 9 +forward 5 +down 2 +forward 6 +down 1 +up 3 +forward 6 +forward 5 +down 3 +down 6 +forward 2 +forward 3 +down 9 +up 4 +up 9 +up 1 +forward 6 +down 6 +forward 9 +forward 9 +down 6 +forward 4 +down 6 +forward 6 +forward 2 +forward 8 +forward 2 +down 2 +forward 6 +forward 4 +forward 2 +up 1 +down 2 +forward 7 +forward 2 +down 9 +forward 2 +forward 1 +down 8 +forward 4 +forward 7 +up 3 +down 2 +forward 4 +up 6 +down 1 +forward 6 +forward 3 +down 3 +down 3 +forward 7 +forward 9 +forward 5 +forward 9 +down 3 +down 3 +up 7 +down 2 +forward 1 +forward 3 +up 1 +forward 6 +down 6 +down 4 +down 2 +down 3 +down 1 +up 6 +forward 5 +down 6 +forward 2 +down 7 +forward 4 +down 2 +down 7 +down 6 +forward 3 +forward 1 +forward 6 +down 3 +forward 3 +up 1 +forward 5 +down 2 +up 1 +down 2 +up 5 +down 2 +up 3 +down 7 +up 6 +down 9 +forward 1 +forward 3 +down 9 +up 9 +down 4 +down 1 +forward 7 +forward 6 +up 1 +forward 5 +down 4 +up 4 +forward 7 +forward 6 +down 9 +up 9 +up 6 +up 6 +forward 6 +up 4 +forward 7 +down 4 +up 1 +forward 3 +down 5 +down 5 +up 2 +down 6 +forward 2 +up 2 +forward 1 +up 7 +up 8 +up 7 +down 3 +forward 5 +forward 9 +up 9 +down 7 +forward 5 +up 8 +down 9 +forward 6 +forward 1 +forward 3 +down 5 +up 4 +up 8 +down 5 +forward 5 +up 9 +down 7 +up 3 +forward 4 +down 1 +forward 1 +down 4 +forward 8 +up 8 +forward 4 +forward 5 +forward 6 +forward 2 +forward 5 +forward 6 +up 9 +down 3 +up 6 +down 3 +down 1 +down 2 +down 7 +down 9 +up 8 +down 5 +forward 4 +down 9 +forward 8 +forward 9 +down 3 +forward 4 +up 6 +forward 4 +forward 4 +down 6 +up 4 +down 4 +forward 9 +down 5 +down 7 +forward 9 +forward 4 +down 7 +down 2 +down 5 +down 4 +forward 5 +down 5 +forward 8 +forward 9 +forward 2 +down 8 +forward 9 +down 2 +forward 3 +up 6 +up 5 +down 9 +down 1 +up 7 +forward 9 +forward 9 +forward 2 +down 5 +up 5 +down 1 +forward 8 +forward 7 +down 7 +down 8 +down 1 +forward 5 +down 3 +forward 4 +down 1 +down 5 +forward 9 +up 1 +down 4 +down 7 +forward 8 +up 9 +up 6 +forward 4 +up 1 +forward 9 +down 6 +up 7 +down 8 +up 2 +forward 9 +up 6 +down 1 +up 7 +down 5 +down 3 +forward 2 +down 7 +forward 5 +forward 4 +down 4 +up 7 +down 5 +up 4 +forward 9 +forward 6 +forward 4 +down 8 +forward 1 +down 2 +forward 2 +down 3 +up 6 +forward 4 +down 5 +up 8 +forward 6 +forward 4 +up 4 +forward 5 +forward 3 +down 8 +forward 9 +forward 1 +forward 7 +down 8 +up 5 +forward 6 +down 4 +forward 3 +forward 7 +forward 2 +down 1 +up 5 +up 4 +down 8 +forward 3 +forward 8 +down 8 +forward 3 +up 9 +forward 9 +forward 2 +forward 7 +down 9 +up 5 +forward 7 +down 4 +up 4 +up 6 +down 2 +up 9 +up 7 +forward 4 +down 5 +up 4 +forward 3 +down 4 +down 7 +down 7 +up 7 +down 9 +down 9 +forward 7 +up 2 +forward 4 +forward 4 +forward 8 +forward 2 +down 1 +up 8 +down 9 +forward 1 +forward 4 +down 5 +down 3 +forward 3 +forward 1 +up 4 +down 6 +forward 2 +down 5 +down 1 +down 2 +forward 2 +down 3 +forward 6 +down 6 +down 3 +forward 9 +up 6 +up 9 +down 9 +up 5 +down 1 +down 1 +down 6 +forward 6 +forward 5 +forward 5 +forward 6 +down 8 +up 4 +down 3 +down 8 +down 9 +down 4 +down 7 +forward 2 +up 5 +forward 2 +forward 2 +forward 4 +down 4 +down 3 +forward 6 +forward 9 +down 9 +forward 4 +down 9 +down 2 +forward 1 +down 2 +up 3 +forward 2 +down 9 +up 5 +down 9 +forward 9 +forward 8 +down 1 +down 6 +up 2 +up 9 +forward 7 +up 1 +down 1 +down 3 +up 5 +down 2 +up 5 +down 7 +up 7 +up 8 +forward 2 +forward 3 +down 4 +forward 6 +up 3 +forward 7 +forward 7 +forward 7 +forward 7 +forward 8 +forward 4 +up 1 +forward 6 +forward 9 +forward 2 +down 3 +up 8 +down 9 +down 3 +down 8 +up 9 +down 6 +up 6 +up 9 +forward 9 +down 9 +forward 6 +forward 1 +down 3 +up 2 +forward 1 +up 2 +up 1 +forward 2 +down 1 +up 4 +forward 9 +down 5 +up 9 +down 4 +forward 4 +forward 1 +down 8 +forward 8 +down 5 +forward 5 +forward 7 +forward 6 +forward 7 +down 7 +down 3 +forward 9 +forward 6 +down 7 +forward 3 +forward 2 +down 1 +forward 2 +forward 5 +up 7 +up 7 +forward 2 +up 1 +forward 2 +up 2 +up 2 +up 6 +forward 4 +down 2 +up 3 +down 4 +down 7 +down 6 +forward 6 +forward 5 +forward 8 +forward 9 +up 1 +down 9 +up 6 +down 1 +up 1 +down 5 +forward 2 +forward 9 +forward 9 +up 4 +up 2 +forward 8 +up 4 +down 3 +down 8 +forward 2 +down 3 +down 8 +forward 2 +down 6 +down 8 +down 1 +up 4 +down 1 +forward 2 +up 7 +up 8 +down 8 +down 8 +forward 8 +down 1 +down 2 +down 1 +forward 9 +forward 5 +forward 8 +forward 7 +down 9 +down 2 +down 8 +forward 9 +down 3 +forward 4 +forward 1 +down 4 +forward 9 +up 6 +forward 6 +forward 7 +forward 7 +forward 6 +forward 8 +down 4 +forward 7 +down 8 +up 1 +forward 2 +down 1 +up 7 +forward 6 +up 9 +down 4 +up 4 +forward 1 +down 7 +down 2 +forward 4 +forward 4 +down 4 +down 2 +forward 5 +forward 9 +down 4 +down 5 +down 6 +up 9 +down 2 +up 4 +forward 7 +forward 5 +forward 1 +forward 9 +down 7 +up 4 +up 7 +forward 5 +up 8 +forward 2 +down 3 +up 1 +down 4 +forward 4 +forward 3 +forward 9 +forward 9 +down 9 +down 9 +up 7 +forward 4 +forward 9 +down 5 +down 5 +up 7 +up 4 +forward 9 +up 5 +down 2 +forward 5 +down 1 +forward 2 +down 6 +down 9 +forward 2 +up 4 +forward 6 +forward 6 +down 1 +up 8 +forward 5 +forward 9 +forward 6 +forward 4 +forward 9 +forward 2 +forward 5 +down 6 +up 4 +forward 2 +up 1 +forward 5 diff --git a/2021/02/main.kt b/2021/02/main.kt new file mode 100644 index 0000000..16e601d --- /dev/null +++ b/2021/02/main.kt @@ -0,0 +1,21 @@ +import java.io.File + +fun main() { + val lines = File("input/1.txt").readLines() + val directions = lines.map { line -> line.split(' ', limit = 2).let { it[0] to it[1].toInt() } } + + var position = 0 + var depth = 0 + + for ((direction, distance) in directions) { + when (direction) { + "forward" -> position += distance + "up" -> depth -= distance + "down" -> depth += distance + } + } + + println("Position: $position") + println("Depth: $depth") + println("Multiplied: ${position * depth}") +} diff --git a/build.gradle.kts b/build.gradle.kts index 594cb96..bdd3154 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -33,4 +33,5 @@ sourceSets { } make(2021, 1) + make(2021, 2) }