Me aburria un poco e hice el day 6:
spoiler
fn main() {
let mut fish = vec![1,3,3,4,5,1,1,1,1,1,1,2,1,4,1,1,1,5,2,2,4,3,1,1,2,5,4,2,2,3,1,2,3,2,1,1,4,4,2,4,4,1,2,4,3,3,3,1,1,3,4,5,2,5,1,2,5,1,1,1,3,2,3,3,1,4,1,1,4,1,4,1,1,1,1,5,4,2,1,2,2,5,5,1,1,1,1,2,1,1,1,1,3,2,3,1,4,3,1,1,3,1,1,1,1,3,3,4,5,1,1,5,4,4,4,4,2,5,1,1,2,5,1,3,4,4,1,4,1,5,5,2,4,5,1,1,3,1,3,1,4,1,3,1,2,2,1,5,1,5,1,3,1,3,1,4,1,4,5,1,4,5,1,1,5,2,2,4,5,1,3,2,4,2,1,1,1,2,1,2,1,3,4,4,2,2,4,2,1,4,1,3,1,3,5,3,1,1,2,2,1,5,2,1,1,1,1,1,5,4,3,5,3,3,1,5,5,4,4,2,1,1,1,2,5,3,3,2,1,1,1,5,5,3,1,4,4,2,4,2,1,1,1,5,1,2,4,1,3,4,4,2,1,4,2,1,3,4,3,3,2,3,1,5,3,1,1,5,1,2,2,4,4,1,2,3,1,2,1,1,2,1,1,1,2,3,5,5,1,2,3,1,3,5,4,2,1,3,3,4];
let mut counters: [i64; 9] = [0; 9];
fish.iter().for_each(|n| counters[n.clone()] = counters[n.clone()] + 1);
for i in 0..256 {
counters.rotate_left(1);
counters[6] = counters[6] + counters[8];
}
println!("Length: {}", counters.iter().sum::<i64>());
}
Al principio lo hice de la forma noob, pero luego es muchisimo mas facil xD.
Me fastidia un poco no saber hacer mejor el grupo
time ./target/release/advent
Length: 1644286074024
./target/release/advent 0.00s user 0.00s system 61% cpu 0.005 total