Skip to content

Commit 6b5a826

Browse files
committed
finish day6
1 parent f42c482 commit 6b5a826

File tree

6 files changed

+46
-0
lines changed

6 files changed

+46
-0
lines changed

day6/Cargo.lock

+7
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

day6/Cargo.toml

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
[package]
2+
name = "day6"
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]

day6/input/1.txt

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

day6/input/2.txt

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

day6/src/main.rs

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
mod part1;
2+
use part1::part1;
3+
4+
fn main() {
5+
let s_input = include_str!("../input/1.txt")
6+
.split("\n")
7+
.filter(|&n| !n.is_empty())
8+
.collect::<String>();
9+
let input = s_input
10+
.split(",")
11+
.map(|n| n.parse::<u64>().unwrap())
12+
.collect::<Vec<_>>();
13+
part1(&input, 80);
14+
part1(&input, 256);
15+
}

day6/src/part1.rs

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
pub fn part1(e: &Vec<u64>, day: i32) {
2+
let mut dp = vec![0_u64; 9];
3+
4+
e.iter().for_each(|&n| dp[n as usize] += 1);
5+
6+
(0..day).for_each(|_| {
7+
dp.rotate_left(1);
8+
dp[6] += dp[8];
9+
});
10+
11+
let ans = dp.iter().sum::<u64>();
12+
13+
println!("{}", ans);
14+
}

0 commit comments

Comments
 (0)