1
0
mirror of https://github.com/chylex/Advent-of-Code.git synced 2025-05-15 16:34:05 +02:00

Add 2021 - Day 6 - Part 1

This commit is contained in:
chylex 2021-12-10 20:25:55 +01:00
parent 07287a648d
commit a75cbd15cc
Signed by: chylex
GPG Key ID: 4DE42C8F19A80548
4 changed files with 47 additions and 0 deletions

1
2021/06/input/1.txt Normal file
View File

@ -0,0 +1 @@
1,3,4,1,1,1,1,1,1,1,1,2,2,1,4,2,4,1,1,1,1,1,5,4,1,1,2,1,1,1,1,4,1,1,1,4,4,1,1,1,1,1,1,1,2,4,1,3,1,1,2,1,2,1,1,4,1,1,1,4,3,1,3,1,5,1,1,3,4,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,5,2,5,5,3,2,1,5,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,5,1,1,1,1,5,1,1,1,1,1,4,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,3,1,2,4,1,5,5,1,1,5,3,4,4,4,1,1,1,2,1,1,1,1,1,1,2,1,1,1,1,1,1,5,3,1,4,1,1,2,2,1,2,2,5,1,1,1,2,1,1,1,1,3,4,5,1,2,1,1,1,1,1,5,2,1,1,1,1,1,1,5,1,1,1,1,1,1,1,5,1,4,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,5,4,5,1,1,1,1,1,1,1,5,1,1,3,1,1,1,3,1,4,2,1,5,1,3,5,5,2,1,3,1,1,1,1,1,3,1,3,1,1,2,4,3,1,4,2,2,1,1,1,1,1,1,1,5,2,1,1,1,2

44
2021/06/main.kt Normal file
View File

@ -0,0 +1,44 @@
import java.io.File
import java.util.Collections
fun main() {
val initialConfiguration = File("input/1.txt").readLines().single().split(',').map(String::toInt)
val configuration = FishConfiguration(initialConfiguration)
for (day in 1..80) {
configuration.advanceToNextDay()
// configuration.print()
}
println("Total fish: ${configuration.totalFish}")
}
class FishConfiguration(initialConfiguration: List<Int>) {
private val state = initialConfiguration.toMutableList()
private var day = 0
val totalFish
get() = state.size
fun advanceToNextDay() {
++day
var newFish = 0
for ((index, timer) in state.withIndex()) {
if (timer == 0) {
++newFish
state[index] = 6
}
else {
state[index] = timer - 1
}
}
state.addAll(Collections.nCopies(newFish, 8))
}
@Suppress("unused")
fun print() {
println("Day ${day.toString().padStart(3)}: ${state.joinToString(",")}")
}
}

View File

@ -35,3 +35,4 @@ The versions should not matter, but I used Visual Studio 2019 with `MSVC v142 (1
| 2021 | 03 | Kotlin |
| 2021 | 04 | Kotlin |
| 2021 | 05 | Kotlin |
| 2021 | 06 | Kotlin |

View File

@ -48,4 +48,5 @@ sourceSets {
make(2021, 3)
make(2021, 4)
make(2021, 5)
make(2021, 6)
}