Slight refactor
This commit is contained in:
parent
85cfa9003d
commit
c14ff89c45
@ -22,20 +22,19 @@ struct Day06: Runnable {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func run(fish: [Int], numDays: Int) {
|
func run(fish: [Int], numDays: Int) {
|
||||||
var tmpFish = Dictionary(grouping: fish, by: { $0 }).mapValues { $0.count }
|
var fishCount = Dictionary(grouping: fish, by: { $0 }).mapValues { $0.count }
|
||||||
|
|
||||||
for _ in 1...numDays {
|
for _ in 1...numDays {
|
||||||
var d = [Int:Int]()
|
var tmpFishCount = fishCount
|
||||||
for f in tmpFish.keys.filter({$0 >= 0}) {
|
.filter { $0.key >= 0 }
|
||||||
d[f-1] = tmpFish[f]
|
.reduce(into: [:]) { $0[$1.key-1, default: 0] = $1.value }
|
||||||
}
|
let countPregnant = tmpFishCount[-1] ?? 0
|
||||||
let countPregnant = d[-1] ?? 0
|
tmpFishCount[8] = countPregnant
|
||||||
d[8] = countPregnant
|
tmpFishCount[6] = (tmpFishCount[6] ?? 0) + countPregnant
|
||||||
d[6] = (d[6] ?? 0) + countPregnant
|
tmpFishCount[-1] = 0
|
||||||
d[-1] = 0
|
|
||||||
|
|
||||||
tmpFish = d
|
fishCount = tmpFishCount
|
||||||
}
|
}
|
||||||
print(tmpFish.values.reduce(0, +))
|
print(fishCount.values.reduce(0, +))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user