This commit is contained in:
Tim Nope
2022-12-11 18:06:33 +01:00
commit 6b6fc8d486
1361 changed files with 19939 additions and 0 deletions

30
d01/src/a1.rs Normal file
View File

@ -0,0 +1,30 @@
pub fn run(inp :Vec<String>) {
let mut max = 0;
let mut curr_max = 0;
inp.iter().for_each(|elem| {
let number = elem.parse::<i32>();
match number {
Ok(n) => {
curr_max += n;
}
Err(_) => {
curr_max = 0;
}
}
if curr_max > max {
max = curr_max;
}
});
println!("a1: {}", max);
}

36
d01/src/a2.rs Normal file
View File

@ -0,0 +1,36 @@
pub fn run(inp :Vec<String>) {
let mut curr_max = 0;
let mut elves :Vec<i32> = vec![];
inp.iter().for_each(|elem| {
let number = elem.parse::<i32>();
match number {
Ok(n) => {
curr_max += n;
}
Err(_) => {
elves.push(curr_max);
curr_max = 0;
}
}
});
let mut sum = 0;
for _ in 0..3 {
let e = elves.iter_mut().max().unwrap();
sum += *e;
*e = 0;
}
println!("a2: {}", sum);
}

20
d01/src/a2v2.rs Normal file
View File

@ -0,0 +1,20 @@
pub fn run(inp :Vec<String>) {
let mut v :Vec<i32> = vec![];
inp.split(|line| line.is_empty()).for_each(|vector|{
v.push(vector.iter().map(|s| s.parse::<i32>().unwrap()).sum());
});
let mut sum = 0;
for _ in 0..3 {
let e = v.iter_mut().max().unwrap();
sum += *e;
*e = 0;
}
println!("a2v2: {}", sum);
}

44
d01/src/main.rs Normal file
View File

@ -0,0 +1,44 @@
use std::io::BufRead;
mod a1;
mod a2;
mod a2v2;
fn read_file(path :&str) -> Vec<String> {
let file = std::fs::File::open(path);
return match file {
Ok(handle) => {
let reader = std::io::BufReader::new(handle);
let mut vec : Vec<String> = vec![];
reader.lines().for_each(|elem| {
vec.push(elem.unwrap());
});
vec
}
Err(_) => vec![]
}
}
fn main() {
let inp :Vec<String> = read_file("input.txt");
a1::run(inp.clone());
a2::run(inp.clone());
a2v2::run(inp);
}