Skip to content

Commit 0b88278

Browse files
committed
Add day 6
1 parent 0a4ca8f commit 0b88278

File tree

5 files changed

+57
-0
lines changed

5 files changed

+57
-0
lines changed

Day6_input.txt

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
2,5,3,4,4,5,3,2,3,3,2,2,4,2,5,4,1,1,4,4,5,1,2,1,5,2,1,5,1,1,1,2,4,3,3,1,4,2,3,4,5,1,2,5,1,2,2,5,2,4,4,1,4,5,4,2,1,5,5,3,2,1,3,2,1,4,2,5,5,5,2,3,3,5,1,1,5,3,4,2,1,4,4,5,4,5,3,1,4,5,1,5,3,5,4,4,4,1,4,2,2,2,5,4,3,1,4,4,3,4,2,1,1,5,3,3,2,5,3,1,2,2,4,1,4,1,5,1,1,2,5,2,2,5,2,4,4,3,4,1,3,3,5,4,5,4,5,5,5,5,5,4,4,5,3,4,3,3,1,1,5,2,4,5,5,1,5,2,4,5,4,2,4,4,4,2,2,2,2,2,3,5,3,1,1,2,1,1,5,1,4,3,4,2,5,3,4,4,3,5,5,5,4,1,3,4,4,2,2,1,4,1,2,1,2,1,5,5,3,4,1,3,2,1,4,5,1,5,5,1,2,3,4,2,1,4,1,4,2,3,3,2,4,1,4,1,4,4,1,5,3,1,5,2,1,1,2,3,3,2,4,1,2,1,5,1,1,2,1,2,1,2,4,5,3,5,5,1,3,4,1,1,3,3,2,2,4,3,1,1,2,4,1,1,1,5,4,2,4,3

day6a/Cargo.toml

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
[package]
2+
name = "day6a"
3+
version = "0.1.0"
4+
edition = "2021"
5+
6+
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
7+
8+
[dependencies]

day6a/src/main.rs

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
use std::collections::VecDeque;
2+
3+
fn main() {
4+
let mut input = String::new();
5+
std::io::stdin().read_line(&mut input).unwrap();
6+
7+
let mut fish: VecDeque<_> = [0u32; 9].iter().copied().collect();
8+
9+
for i in input.trim().split(',') {
10+
fish[i.parse::<usize>().unwrap()] += 1;
11+
}
12+
13+
for _ in 0..80 {
14+
let old_0 = fish.pop_front().unwrap();
15+
fish.push_back(old_0);
16+
fish[6] += old_0;
17+
}
18+
19+
println!("{}", fish.into_iter().sum::<u32>());
20+
}

day6b/Cargo.toml

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
[package]
2+
name = "day6b"
3+
version = "0.1.0"
4+
edition = "2021"
5+
6+
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
7+
8+
[dependencies]

day6b/src/main.rs

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
use std::collections::VecDeque;
2+
3+
fn main() {
4+
let mut input = String::new();
5+
std::io::stdin().read_line(&mut input).unwrap();
6+
7+
let mut fish: VecDeque<_> = [0u64; 9].iter().copied().collect();
8+
9+
for i in input.trim().split(',') {
10+
fish[i.parse::<usize>().unwrap()] += 1;
11+
}
12+
13+
for _ in 0..256 {
14+
let old_0 = fish.pop_front().unwrap();
15+
fish.push_back(old_0);
16+
fish[6] += old_0;
17+
}
18+
19+
println!("{}", fish.into_iter().sum::<u64>());
20+
}

0 commit comments

Comments
 (0)