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:
parent
07287a648d
commit
a75cbd15cc
1
2021/06/input/1.txt
Normal file
1
2021/06/input/1.txt
Normal 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
44
2021/06/main.kt
Normal 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(",")}")
|
||||
}
|
||||
}
|
@ -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 |
|
||||
|
@ -48,4 +48,5 @@ sourceSets {
|
||||
make(2021, 3)
|
||||
make(2021, 4)
|
||||
make(2021, 5)
|
||||
make(2021, 6)
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user