mirror of
https://github.com/jlengrand/advent-of-code-2022.git
synced 2026-03-10 08:01:19 +00:00
Finishes Day 5
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
# advent-of-code-kotlin-2021
|
# advent-of-code-kotlin-2022
|
||||||
|
|
||||||
Welcome to the Advent of Code[^aoc] Kotlin project created by [jlengrand][github] using the [Advent of Code Kotlin Template][template] delivered by JetBrains.
|
Welcome to the Advent of Code[^aoc] Kotlin project created by [jlengrand][github] using the [Advent of Code Kotlin Template][template] delivered by JetBrains.
|
||||||
|
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
rootProject.name = "advent-of-code-kotlin-2021"
|
rootProject.name = "advent-of-code-kotlin-2022"
|
||||||
|
|||||||
100
src/Day05.kt
Normal file
100
src/Day05.kt
Normal file
@@ -0,0 +1,100 @@
|
|||||||
|
|
||||||
|
val realStacks =
|
||||||
|
hashMapOf(
|
||||||
|
1 to mutableListOf("R", "W", "F", "H", "T", "S"),
|
||||||
|
2 to mutableListOf("W", "Q", "D", "G", "S"),
|
||||||
|
3 to mutableListOf("W", "T", "B"),
|
||||||
|
4 to mutableListOf("J", "Z", "Q", "N", "T", "W", "R", "D"),
|
||||||
|
5 to mutableListOf("Z", "T", "V", "L", "G", "H", "B", "F"),
|
||||||
|
6 to mutableListOf("G", "S", "B", "V", "C", "T", "P", "L"),
|
||||||
|
7 to mutableListOf("P", "G", "W", "T", "R", "B", "Z"),
|
||||||
|
8 to mutableListOf("R", "J", "C", "T", "M", "G", "N"),
|
||||||
|
9 to mutableListOf("W", "B", "G", "L")
|
||||||
|
)
|
||||||
|
|
||||||
|
val exampleStacks =
|
||||||
|
hashMapOf(
|
||||||
|
1 to mutableListOf("N", "Z"),
|
||||||
|
2 to mutableListOf("D", "C", "M"),
|
||||||
|
3 to mutableListOf("P"),
|
||||||
|
)
|
||||||
|
fun main() {
|
||||||
|
|
||||||
|
data class Move(val number: Int, val from: Int, val to: Int)
|
||||||
|
|
||||||
|
fun getMove(input: String): Move {
|
||||||
|
|
||||||
|
val numberAndGibber = input.split("move")[1]
|
||||||
|
.split("from")
|
||||||
|
|
||||||
|
val fromAndGibber = numberAndGibber[1].split("to")
|
||||||
|
|
||||||
|
return Move(
|
||||||
|
numberAndGibber[0].filter { !it.isWhitespace() }.toInt(),
|
||||||
|
fromAndGibber[0].filter { !it.isWhitespace() }.toInt(),
|
||||||
|
fromAndGibber[1].filter { !it.isWhitespace() }.toInt())
|
||||||
|
}
|
||||||
|
|
||||||
|
fun applyMove(stacks: HashMap<Int, MutableList<String>>, move: Move): HashMap<Int, MutableList<String>> {
|
||||||
|
|
||||||
|
for(i in 1..move.number){
|
||||||
|
val item = stacks[move.from]!!.take(1).first()
|
||||||
|
val newStackList = stacks[move.from]!!.drop(1)
|
||||||
|
stacks[move.from] = newStackList.toMutableList()
|
||||||
|
stacks[move.to]!!.add(0, item)
|
||||||
|
}
|
||||||
|
|
||||||
|
return stacks
|
||||||
|
}
|
||||||
|
|
||||||
|
fun applyMove9001(stacks: HashMap<Int, MutableList<String>>, move: Move): HashMap<Int, MutableList<String>> {
|
||||||
|
|
||||||
|
val items = stacks[move.from]!!.take(move.number)
|
||||||
|
val newStackList = stacks[move.from]!!.drop(move.number)
|
||||||
|
stacks[move.from] = newStackList.toMutableList()
|
||||||
|
stacks[move.to]!!.addAll(0,items)
|
||||||
|
|
||||||
|
return stacks
|
||||||
|
}
|
||||||
|
|
||||||
|
fun getTopstacks(stacks: HashMap<Int, MutableList<String>>): String {
|
||||||
|
|
||||||
|
return stacks.map { it.value.first() }.joinToString("")
|
||||||
|
}
|
||||||
|
|
||||||
|
fun part1(input: List<String>, drop: Int = 5, stacks: HashMap<Int, MutableList<String>> = exampleStacks): String {
|
||||||
|
|
||||||
|
var inStacks = stacks
|
||||||
|
|
||||||
|
val cut = input.drop(drop)
|
||||||
|
|
||||||
|
for(line in cut){
|
||||||
|
val move = getMove(line)
|
||||||
|
inStacks = applyMove(inStacks, move)
|
||||||
|
}
|
||||||
|
|
||||||
|
return getTopstacks(inStacks)
|
||||||
|
}
|
||||||
|
|
||||||
|
fun part2(input: List<String>, drop: Int = 5, stacks: HashMap<Int, MutableList<String>> = exampleStacks): String {
|
||||||
|
var inStacks = stacks
|
||||||
|
|
||||||
|
val cut = input.drop(drop)
|
||||||
|
|
||||||
|
for(line in cut){
|
||||||
|
val move = getMove(line)
|
||||||
|
inStacks = applyMove9001(inStacks, move)
|
||||||
|
}
|
||||||
|
|
||||||
|
return getTopstacks(inStacks)
|
||||||
|
}
|
||||||
|
|
||||||
|
// test if implementation meets criteria from the description, like:
|
||||||
|
val testInput = readInput("Day05_test")
|
||||||
|
check(part1(testInput) == "CMZ")
|
||||||
|
check(part2(testInput) == "MCD")
|
||||||
|
|
||||||
|
val input = readInput("Day05")
|
||||||
|
println(part1(input, 10, realStacks))
|
||||||
|
println(part2(input, 10, realStacks))
|
||||||
|
}
|
||||||
512
src/Day05.txt
Normal file
512
src/Day05.txt
Normal file
@@ -0,0 +1,512 @@
|
|||||||
|
[J] [Z] [G]
|
||||||
|
[Z] [T] [S] [P] [R]
|
||||||
|
[R] [Q] [V] [B] [G] [J]
|
||||||
|
[W] [W] [N] [L] [V] [W] [C]
|
||||||
|
[F] [Q] [T] [G] [C] [T] [T] [W]
|
||||||
|
[H] [D] [W] [W] [H] [T] [R] [M] [B]
|
||||||
|
[T] [G] [T] [R] [B] [P] [B] [G] [G]
|
||||||
|
[S] [S] [B] [D] [F] [L] [Z] [N] [L]
|
||||||
|
1 2 3 4 5 6 7 8 9
|
||||||
|
|
||||||
|
move 4 from 2 to 1
|
||||||
|
move 1 from 6 to 9
|
||||||
|
move 6 from 4 to 7
|
||||||
|
move 1 from 2 to 5
|
||||||
|
move 3 from 6 to 3
|
||||||
|
move 4 from 3 to 9
|
||||||
|
move 2 from 1 to 3
|
||||||
|
move 6 from 7 to 5
|
||||||
|
move 5 from 7 to 6
|
||||||
|
move 6 from 8 to 7
|
||||||
|
move 6 from 7 to 6
|
||||||
|
move 1 from 8 to 3
|
||||||
|
move 15 from 6 to 4
|
||||||
|
move 7 from 5 to 6
|
||||||
|
move 1 from 7 to 2
|
||||||
|
move 2 from 5 to 3
|
||||||
|
move 5 from 9 to 8
|
||||||
|
move 5 from 5 to 6
|
||||||
|
move 1 from 7 to 4
|
||||||
|
move 5 from 6 to 5
|
||||||
|
move 3 from 3 to 8
|
||||||
|
move 4 from 5 to 8
|
||||||
|
move 1 from 2 to 8
|
||||||
|
move 7 from 1 to 2
|
||||||
|
move 2 from 6 to 2
|
||||||
|
move 2 from 5 to 8
|
||||||
|
move 1 from 1 to 8
|
||||||
|
move 8 from 2 to 6
|
||||||
|
move 3 from 3 to 4
|
||||||
|
move 4 from 9 to 3
|
||||||
|
move 5 from 3 to 6
|
||||||
|
move 5 from 6 to 8
|
||||||
|
move 3 from 4 to 8
|
||||||
|
move 13 from 6 to 5
|
||||||
|
move 14 from 4 to 8
|
||||||
|
move 1 from 2 to 6
|
||||||
|
move 1 from 4 to 2
|
||||||
|
move 12 from 5 to 4
|
||||||
|
move 30 from 8 to 6
|
||||||
|
move 1 from 8 to 9
|
||||||
|
move 1 from 9 to 4
|
||||||
|
move 15 from 4 to 5
|
||||||
|
move 1 from 2 to 9
|
||||||
|
move 1 from 4 to 2
|
||||||
|
move 1 from 2 to 1
|
||||||
|
move 1 from 9 to 3
|
||||||
|
move 8 from 5 to 7
|
||||||
|
move 2 from 5 to 6
|
||||||
|
move 7 from 8 to 1
|
||||||
|
move 1 from 3 to 4
|
||||||
|
move 1 from 7 to 3
|
||||||
|
move 1 from 4 to 6
|
||||||
|
move 26 from 6 to 7
|
||||||
|
move 1 from 3 to 7
|
||||||
|
move 3 from 7 to 2
|
||||||
|
move 1 from 1 to 9
|
||||||
|
move 16 from 7 to 5
|
||||||
|
move 2 from 7 to 4
|
||||||
|
move 12 from 7 to 6
|
||||||
|
move 1 from 1 to 9
|
||||||
|
move 4 from 6 to 1
|
||||||
|
move 7 from 1 to 5
|
||||||
|
move 2 from 1 to 8
|
||||||
|
move 1 from 7 to 2
|
||||||
|
move 1 from 1 to 4
|
||||||
|
move 2 from 4 to 5
|
||||||
|
move 1 from 9 to 4
|
||||||
|
move 3 from 6 to 9
|
||||||
|
move 8 from 6 to 5
|
||||||
|
move 5 from 5 to 9
|
||||||
|
move 19 from 5 to 8
|
||||||
|
move 1 from 9 to 8
|
||||||
|
move 3 from 8 to 7
|
||||||
|
move 1 from 7 to 3
|
||||||
|
move 8 from 5 to 2
|
||||||
|
move 2 from 4 to 2
|
||||||
|
move 4 from 9 to 8
|
||||||
|
move 1 from 2 to 3
|
||||||
|
move 2 from 3 to 2
|
||||||
|
move 4 from 9 to 5
|
||||||
|
move 8 from 8 to 4
|
||||||
|
move 9 from 8 to 5
|
||||||
|
move 5 from 8 to 4
|
||||||
|
move 5 from 5 to 7
|
||||||
|
move 12 from 2 to 3
|
||||||
|
move 2 from 2 to 8
|
||||||
|
move 1 from 8 to 6
|
||||||
|
move 1 from 8 to 7
|
||||||
|
move 10 from 4 to 3
|
||||||
|
move 1 from 2 to 9
|
||||||
|
move 13 from 5 to 3
|
||||||
|
move 1 from 7 to 5
|
||||||
|
move 27 from 3 to 4
|
||||||
|
move 1 from 8 to 7
|
||||||
|
move 3 from 5 to 2
|
||||||
|
move 6 from 6 to 3
|
||||||
|
move 2 from 4 to 1
|
||||||
|
move 27 from 4 to 2
|
||||||
|
move 2 from 7 to 8
|
||||||
|
move 23 from 2 to 4
|
||||||
|
move 2 from 1 to 4
|
||||||
|
move 2 from 7 to 2
|
||||||
|
move 4 from 2 to 9
|
||||||
|
move 10 from 3 to 4
|
||||||
|
move 1 from 3 to 5
|
||||||
|
move 1 from 5 to 1
|
||||||
|
move 5 from 2 to 5
|
||||||
|
move 30 from 4 to 2
|
||||||
|
move 1 from 8 to 9
|
||||||
|
move 1 from 8 to 1
|
||||||
|
move 27 from 2 to 3
|
||||||
|
move 2 from 4 to 2
|
||||||
|
move 1 from 9 to 4
|
||||||
|
move 2 from 1 to 3
|
||||||
|
move 8 from 3 to 7
|
||||||
|
move 19 from 3 to 1
|
||||||
|
move 1 from 4 to 7
|
||||||
|
move 5 from 9 to 1
|
||||||
|
move 4 from 2 to 9
|
||||||
|
move 4 from 3 to 4
|
||||||
|
move 1 from 3 to 5
|
||||||
|
move 1 from 2 to 7
|
||||||
|
move 1 from 9 to 3
|
||||||
|
move 1 from 9 to 1
|
||||||
|
move 5 from 5 to 4
|
||||||
|
move 5 from 7 to 3
|
||||||
|
move 1 from 5 to 6
|
||||||
|
move 23 from 1 to 6
|
||||||
|
move 1 from 9 to 2
|
||||||
|
move 1 from 2 to 5
|
||||||
|
move 24 from 6 to 9
|
||||||
|
move 6 from 4 to 7
|
||||||
|
move 4 from 4 to 8
|
||||||
|
move 1 from 4 to 9
|
||||||
|
move 4 from 7 to 4
|
||||||
|
move 4 from 3 to 4
|
||||||
|
move 4 from 9 to 8
|
||||||
|
move 6 from 7 to 9
|
||||||
|
move 4 from 7 to 6
|
||||||
|
move 1 from 1 to 4
|
||||||
|
move 2 from 6 to 4
|
||||||
|
move 1 from 6 to 2
|
||||||
|
move 1 from 1 to 8
|
||||||
|
move 1 from 7 to 3
|
||||||
|
move 1 from 6 to 9
|
||||||
|
move 13 from 4 to 2
|
||||||
|
move 3 from 3 to 2
|
||||||
|
move 15 from 9 to 8
|
||||||
|
move 1 from 5 to 9
|
||||||
|
move 5 from 9 to 1
|
||||||
|
move 4 from 1 to 7
|
||||||
|
move 4 from 7 to 3
|
||||||
|
move 8 from 2 to 7
|
||||||
|
move 9 from 8 to 2
|
||||||
|
move 1 from 1 to 2
|
||||||
|
move 7 from 9 to 2
|
||||||
|
move 4 from 3 to 1
|
||||||
|
move 4 from 1 to 4
|
||||||
|
move 2 from 9 to 1
|
||||||
|
move 20 from 2 to 8
|
||||||
|
move 3 from 4 to 8
|
||||||
|
move 1 from 2 to 3
|
||||||
|
move 4 from 2 to 7
|
||||||
|
move 1 from 3 to 4
|
||||||
|
move 1 from 9 to 3
|
||||||
|
move 1 from 4 to 7
|
||||||
|
move 1 from 2 to 5
|
||||||
|
move 1 from 4 to 3
|
||||||
|
move 2 from 1 to 6
|
||||||
|
move 1 from 5 to 6
|
||||||
|
move 1 from 7 to 1
|
||||||
|
move 12 from 7 to 2
|
||||||
|
move 12 from 2 to 6
|
||||||
|
move 9 from 6 to 2
|
||||||
|
move 1 from 6 to 8
|
||||||
|
move 1 from 3 to 9
|
||||||
|
move 8 from 2 to 4
|
||||||
|
move 1 from 9 to 6
|
||||||
|
move 1 from 4 to 6
|
||||||
|
move 4 from 4 to 9
|
||||||
|
move 1 from 4 to 9
|
||||||
|
move 1 from 1 to 5
|
||||||
|
move 2 from 6 to 3
|
||||||
|
move 1 from 5 to 4
|
||||||
|
move 1 from 2 to 8
|
||||||
|
move 10 from 8 to 6
|
||||||
|
move 10 from 8 to 3
|
||||||
|
move 1 from 3 to 4
|
||||||
|
move 8 from 8 to 1
|
||||||
|
move 3 from 9 to 8
|
||||||
|
move 2 from 9 to 1
|
||||||
|
move 11 from 6 to 7
|
||||||
|
move 1 from 1 to 7
|
||||||
|
move 8 from 1 to 4
|
||||||
|
move 3 from 6 to 7
|
||||||
|
move 1 from 1 to 4
|
||||||
|
move 14 from 8 to 6
|
||||||
|
move 1 from 8 to 7
|
||||||
|
move 1 from 6 to 8
|
||||||
|
move 6 from 4 to 1
|
||||||
|
move 1 from 8 to 5
|
||||||
|
move 4 from 1 to 8
|
||||||
|
move 2 from 7 to 1
|
||||||
|
move 1 from 6 to 7
|
||||||
|
move 5 from 4 to 2
|
||||||
|
move 2 from 4 to 3
|
||||||
|
move 4 from 2 to 8
|
||||||
|
move 15 from 7 to 3
|
||||||
|
move 3 from 3 to 6
|
||||||
|
move 1 from 5 to 2
|
||||||
|
move 21 from 3 to 6
|
||||||
|
move 2 from 8 to 7
|
||||||
|
move 1 from 7 to 8
|
||||||
|
move 32 from 6 to 9
|
||||||
|
move 1 from 7 to 8
|
||||||
|
move 5 from 8 to 4
|
||||||
|
move 2 from 8 to 7
|
||||||
|
move 14 from 9 to 8
|
||||||
|
move 14 from 8 to 1
|
||||||
|
move 2 from 6 to 1
|
||||||
|
move 2 from 7 to 4
|
||||||
|
move 1 from 9 to 3
|
||||||
|
move 17 from 9 to 5
|
||||||
|
move 6 from 1 to 8
|
||||||
|
move 4 from 4 to 6
|
||||||
|
move 2 from 2 to 5
|
||||||
|
move 2 from 8 to 2
|
||||||
|
move 1 from 6 to 7
|
||||||
|
move 2 from 2 to 6
|
||||||
|
move 4 from 3 to 2
|
||||||
|
move 7 from 6 to 3
|
||||||
|
move 6 from 5 to 7
|
||||||
|
move 1 from 8 to 9
|
||||||
|
move 1 from 6 to 7
|
||||||
|
move 4 from 8 to 6
|
||||||
|
move 1 from 9 to 3
|
||||||
|
move 4 from 1 to 4
|
||||||
|
move 12 from 5 to 9
|
||||||
|
move 7 from 7 to 8
|
||||||
|
move 3 from 4 to 2
|
||||||
|
move 8 from 9 to 4
|
||||||
|
move 2 from 6 to 2
|
||||||
|
move 1 from 7 to 4
|
||||||
|
move 2 from 6 to 9
|
||||||
|
move 1 from 5 to 3
|
||||||
|
move 1 from 8 to 1
|
||||||
|
move 2 from 8 to 7
|
||||||
|
move 2 from 2 to 9
|
||||||
|
move 7 from 2 to 3
|
||||||
|
move 8 from 4 to 1
|
||||||
|
move 2 from 8 to 4
|
||||||
|
move 4 from 9 to 7
|
||||||
|
move 2 from 9 to 5
|
||||||
|
move 16 from 1 to 3
|
||||||
|
move 3 from 7 to 4
|
||||||
|
move 1 from 7 to 6
|
||||||
|
move 1 from 6 to 2
|
||||||
|
move 2 from 5 to 3
|
||||||
|
move 10 from 4 to 2
|
||||||
|
move 2 from 8 to 7
|
||||||
|
move 19 from 3 to 8
|
||||||
|
move 17 from 3 to 9
|
||||||
|
move 3 from 1 to 7
|
||||||
|
move 17 from 9 to 2
|
||||||
|
move 1 from 7 to 5
|
||||||
|
move 1 from 7 to 5
|
||||||
|
move 2 from 5 to 7
|
||||||
|
move 2 from 9 to 2
|
||||||
|
move 6 from 7 to 6
|
||||||
|
move 3 from 6 to 7
|
||||||
|
move 1 from 8 to 9
|
||||||
|
move 1 from 9 to 3
|
||||||
|
move 4 from 2 to 5
|
||||||
|
move 17 from 2 to 3
|
||||||
|
move 3 from 7 to 5
|
||||||
|
move 1 from 5 to 3
|
||||||
|
move 7 from 2 to 3
|
||||||
|
move 2 from 2 to 4
|
||||||
|
move 1 from 7 to 1
|
||||||
|
move 1 from 1 to 5
|
||||||
|
move 2 from 5 to 3
|
||||||
|
move 1 from 4 to 5
|
||||||
|
move 1 from 4 to 3
|
||||||
|
move 14 from 3 to 5
|
||||||
|
move 17 from 8 to 7
|
||||||
|
move 2 from 6 to 2
|
||||||
|
move 12 from 3 to 5
|
||||||
|
move 15 from 5 to 9
|
||||||
|
move 7 from 7 to 3
|
||||||
|
move 7 from 7 to 6
|
||||||
|
move 1 from 2 to 3
|
||||||
|
move 11 from 9 to 6
|
||||||
|
move 13 from 5 to 7
|
||||||
|
move 10 from 6 to 8
|
||||||
|
move 6 from 8 to 3
|
||||||
|
move 2 from 5 to 8
|
||||||
|
move 1 from 2 to 9
|
||||||
|
move 10 from 7 to 6
|
||||||
|
move 9 from 6 to 8
|
||||||
|
move 1 from 5 to 1
|
||||||
|
move 10 from 6 to 4
|
||||||
|
move 8 from 4 to 5
|
||||||
|
move 1 from 1 to 2
|
||||||
|
move 3 from 9 to 1
|
||||||
|
move 10 from 3 to 7
|
||||||
|
move 1 from 4 to 7
|
||||||
|
move 12 from 7 to 9
|
||||||
|
move 7 from 3 to 5
|
||||||
|
move 13 from 8 to 7
|
||||||
|
move 3 from 9 to 5
|
||||||
|
move 5 from 5 to 6
|
||||||
|
move 3 from 1 to 9
|
||||||
|
move 5 from 9 to 6
|
||||||
|
move 10 from 6 to 4
|
||||||
|
move 15 from 7 to 5
|
||||||
|
move 3 from 9 to 4
|
||||||
|
move 1 from 4 to 3
|
||||||
|
move 3 from 8 to 9
|
||||||
|
move 6 from 9 to 6
|
||||||
|
move 2 from 5 to 1
|
||||||
|
move 1 from 2 to 7
|
||||||
|
move 12 from 5 to 8
|
||||||
|
move 3 from 9 to 5
|
||||||
|
move 11 from 5 to 6
|
||||||
|
move 1 from 1 to 2
|
||||||
|
move 1 from 2 to 8
|
||||||
|
move 3 from 7 to 8
|
||||||
|
move 10 from 8 to 3
|
||||||
|
move 1 from 1 to 7
|
||||||
|
move 10 from 4 to 9
|
||||||
|
move 1 from 7 to 8
|
||||||
|
move 5 from 5 to 3
|
||||||
|
move 15 from 6 to 5
|
||||||
|
move 8 from 3 to 9
|
||||||
|
move 3 from 4 to 5
|
||||||
|
move 1 from 7 to 8
|
||||||
|
move 8 from 8 to 9
|
||||||
|
move 1 from 6 to 5
|
||||||
|
move 5 from 3 to 2
|
||||||
|
move 5 from 2 to 3
|
||||||
|
move 5 from 9 to 8
|
||||||
|
move 1 from 6 to 8
|
||||||
|
move 2 from 5 to 1
|
||||||
|
move 4 from 3 to 2
|
||||||
|
move 16 from 5 to 6
|
||||||
|
move 3 from 5 to 9
|
||||||
|
move 4 from 8 to 5
|
||||||
|
move 8 from 6 to 4
|
||||||
|
move 4 from 2 to 3
|
||||||
|
move 1 from 1 to 4
|
||||||
|
move 6 from 3 to 6
|
||||||
|
move 24 from 9 to 2
|
||||||
|
move 1 from 1 to 9
|
||||||
|
move 1 from 9 to 4
|
||||||
|
move 2 from 4 to 5
|
||||||
|
move 1 from 3 to 2
|
||||||
|
move 10 from 6 to 8
|
||||||
|
move 22 from 2 to 6
|
||||||
|
move 1 from 2 to 7
|
||||||
|
move 1 from 7 to 5
|
||||||
|
move 10 from 8 to 9
|
||||||
|
move 7 from 9 to 3
|
||||||
|
move 6 from 4 to 8
|
||||||
|
move 3 from 9 to 2
|
||||||
|
move 5 from 8 to 3
|
||||||
|
move 1 from 4 to 1
|
||||||
|
move 1 from 8 to 3
|
||||||
|
move 3 from 6 to 2
|
||||||
|
move 5 from 5 to 1
|
||||||
|
move 1 from 5 to 3
|
||||||
|
move 5 from 6 to 3
|
||||||
|
move 1 from 2 to 7
|
||||||
|
move 16 from 3 to 2
|
||||||
|
move 1 from 8 to 1
|
||||||
|
move 1 from 4 to 7
|
||||||
|
move 1 from 5 to 3
|
||||||
|
move 6 from 6 to 4
|
||||||
|
move 14 from 2 to 8
|
||||||
|
move 3 from 3 to 5
|
||||||
|
move 2 from 3 to 6
|
||||||
|
move 3 from 5 to 6
|
||||||
|
move 4 from 6 to 4
|
||||||
|
move 3 from 4 to 8
|
||||||
|
move 7 from 2 to 9
|
||||||
|
move 2 from 2 to 1
|
||||||
|
move 9 from 8 to 4
|
||||||
|
move 7 from 1 to 7
|
||||||
|
move 8 from 7 to 5
|
||||||
|
move 2 from 8 to 4
|
||||||
|
move 3 from 9 to 6
|
||||||
|
move 4 from 4 to 6
|
||||||
|
move 1 from 7 to 3
|
||||||
|
move 4 from 8 to 2
|
||||||
|
move 2 from 9 to 8
|
||||||
|
move 9 from 6 to 7
|
||||||
|
move 1 from 9 to 8
|
||||||
|
move 1 from 1 to 5
|
||||||
|
move 3 from 4 to 5
|
||||||
|
move 1 from 3 to 2
|
||||||
|
move 5 from 8 to 2
|
||||||
|
move 9 from 2 to 7
|
||||||
|
move 1 from 6 to 7
|
||||||
|
move 1 from 6 to 2
|
||||||
|
move 9 from 7 to 4
|
||||||
|
move 2 from 5 to 9
|
||||||
|
move 10 from 4 to 6
|
||||||
|
move 1 from 8 to 6
|
||||||
|
move 5 from 4 to 3
|
||||||
|
move 5 from 4 to 9
|
||||||
|
move 5 from 9 to 5
|
||||||
|
move 1 from 1 to 7
|
||||||
|
move 4 from 7 to 8
|
||||||
|
move 8 from 5 to 3
|
||||||
|
move 3 from 3 to 8
|
||||||
|
move 6 from 7 to 6
|
||||||
|
move 3 from 3 to 1
|
||||||
|
move 5 from 3 to 7
|
||||||
|
move 1 from 9 to 6
|
||||||
|
move 2 from 7 to 6
|
||||||
|
move 1 from 9 to 3
|
||||||
|
move 4 from 6 to 9
|
||||||
|
move 2 from 2 to 6
|
||||||
|
move 1 from 7 to 3
|
||||||
|
move 6 from 5 to 4
|
||||||
|
move 7 from 6 to 9
|
||||||
|
move 6 from 6 to 8
|
||||||
|
move 2 from 1 to 2
|
||||||
|
move 1 from 5 to 1
|
||||||
|
move 5 from 8 to 5
|
||||||
|
move 1 from 3 to 9
|
||||||
|
move 4 from 4 to 5
|
||||||
|
move 10 from 9 to 2
|
||||||
|
move 14 from 6 to 4
|
||||||
|
move 1 from 3 to 8
|
||||||
|
move 1 from 8 to 5
|
||||||
|
move 2 from 7 to 9
|
||||||
|
move 1 from 1 to 2
|
||||||
|
move 14 from 4 to 7
|
||||||
|
move 1 from 1 to 4
|
||||||
|
move 3 from 4 to 1
|
||||||
|
move 3 from 5 to 1
|
||||||
|
move 6 from 5 to 1
|
||||||
|
move 10 from 7 to 3
|
||||||
|
move 6 from 1 to 5
|
||||||
|
move 6 from 1 to 7
|
||||||
|
move 3 from 8 to 3
|
||||||
|
move 1 from 5 to 1
|
||||||
|
move 3 from 9 to 6
|
||||||
|
move 1 from 9 to 3
|
||||||
|
move 6 from 5 to 9
|
||||||
|
move 2 from 6 to 1
|
||||||
|
move 9 from 2 to 1
|
||||||
|
move 6 from 9 to 6
|
||||||
|
move 2 from 8 to 7
|
||||||
|
move 5 from 7 to 3
|
||||||
|
move 7 from 7 to 5
|
||||||
|
move 4 from 2 to 8
|
||||||
|
move 6 from 8 to 3
|
||||||
|
move 1 from 9 to 4
|
||||||
|
move 1 from 7 to 3
|
||||||
|
move 2 from 5 to 3
|
||||||
|
move 7 from 6 to 4
|
||||||
|
move 28 from 3 to 4
|
||||||
|
move 1 from 3 to 8
|
||||||
|
move 1 from 5 to 9
|
||||||
|
move 9 from 4 to 5
|
||||||
|
move 12 from 4 to 5
|
||||||
|
move 2 from 4 to 6
|
||||||
|
move 5 from 4 to 6
|
||||||
|
move 1 from 3 to 8
|
||||||
|
move 10 from 5 to 8
|
||||||
|
move 10 from 5 to 4
|
||||||
|
move 5 from 5 to 9
|
||||||
|
move 3 from 4 to 1
|
||||||
|
move 5 from 6 to 9
|
||||||
|
move 2 from 6 to 7
|
||||||
|
move 2 from 7 to 5
|
||||||
|
move 10 from 9 to 4
|
||||||
|
move 1 from 8 to 5
|
||||||
|
move 5 from 1 to 5
|
||||||
|
move 8 from 8 to 7
|
||||||
|
move 8 from 5 to 3
|
||||||
|
move 8 from 7 to 8
|
||||||
|
move 2 from 8 to 2
|
||||||
|
move 7 from 3 to 2
|
||||||
|
move 21 from 4 to 7
|
||||||
|
move 10 from 1 to 9
|
||||||
|
move 3 from 4 to 5
|
||||||
|
move 1 from 4 to 8
|
||||||
|
move 1 from 8 to 3
|
||||||
|
move 7 from 8 to 5
|
||||||
|
move 2 from 3 to 1
|
||||||
|
move 7 from 7 to 2
|
||||||
|
move 1 from 1 to 4
|
||||||
|
move 1 from 1 to 6
|
||||||
|
move 8 from 9 to 3
|
||||||
|
move 2 from 8 to 4
|
||||||
|
move 3 from 3 to 1
|
||||||
|
move 3 from 4 to 7
|
||||||
|
move 1 from 6 to 7
|
||||||
|
move 5 from 2 to 4
|
||||||
|
move 2 from 1 to 6
|
||||||
9
src/Day05_test.txt
Normal file
9
src/Day05_test.txt
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
[D]
|
||||||
|
[N] [C]
|
||||||
|
[Z] [M] [P]
|
||||||
|
1 2 3
|
||||||
|
|
||||||
|
move 1 from 2 to 1
|
||||||
|
move 3 from 1 to 3
|
||||||
|
move 2 from 2 to 1
|
||||||
|
move 1 from 1 to 2
|
||||||
18
src/Day06.kt
Normal file
18
src/Day06.kt
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
fun main() {
|
||||||
|
fun part1(input: List<String>): Int {
|
||||||
|
TODO()
|
||||||
|
}
|
||||||
|
|
||||||
|
fun part2(input: List<String>): Int {
|
||||||
|
TODO()
|
||||||
|
}
|
||||||
|
|
||||||
|
// test if implementation meets criteria from the description, like:
|
||||||
|
val testInput = readInput("Day06_test")
|
||||||
|
check(part1(testInput) == 7)
|
||||||
|
check(part2(testInput) == 5)
|
||||||
|
|
||||||
|
val input = readInput("Day06")
|
||||||
|
println(part1(input))
|
||||||
|
println(part2(input))
|
||||||
|
}
|
||||||
0
src/Day06.txt
Normal file
0
src/Day06.txt
Normal file
0
src/Day06_test.txt
Normal file
0
src/Day06_test.txt
Normal file
Reference in New Issue
Block a user