aoc 2022 day 1
This commit is contained in:
44
2022/src/day1.rs
Normal file
44
2022/src/day1.rs
Normal file
@@ -0,0 +1,44 @@
|
||||
const DATA: &'static str = include_str!("../data/day1.txt");
|
||||
|
||||
// const DATA: &'static str = "1000
|
||||
// 2000
|
||||
// 3000
|
||||
|
||||
// 4000
|
||||
|
||||
// 5000
|
||||
// 6000
|
||||
|
||||
// 7000
|
||||
// 8000
|
||||
// 9000
|
||||
|
||||
// 10000
|
||||
// ";
|
||||
|
||||
|
||||
fn main() {
|
||||
let mut counts = DATA.trim()
|
||||
.split("\n\n")
|
||||
.map(|lines| {
|
||||
lines.split("\n")
|
||||
.map(|c| c.parse::<u64>().unwrap())
|
||||
.collect::<Vec<_>>()
|
||||
})
|
||||
.collect::<Vec<_>>();
|
||||
|
||||
counts.sort_by_key(|values| values.iter().sum::<u64>());
|
||||
|
||||
let max_total_cals: u64 = counts.last()
|
||||
.unwrap()
|
||||
.iter()
|
||||
.sum();
|
||||
|
||||
let top3_total_cals: &u64 = &counts[(counts.len() - 3)..]
|
||||
.iter()
|
||||
.flatten()
|
||||
.sum();
|
||||
|
||||
println!("Part 1: {max_total_cals}");
|
||||
println!("Part 2: {top3_total_cals}");
|
||||
}
|
12
2022/src/lib.rs
Normal file
12
2022/src/lib.rs
Normal file
@@ -0,0 +1,12 @@
|
||||
#[allow(unused_macros)]
|
||||
macro_rules! get_data {
|
||||
($filename: literal) => {
|
||||
include_str!(concat!("../data/", $filename, ".txt"))
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#[allow(dead_code)]
|
||||
fn main() {
|
||||
todo!();
|
||||
}
|
Reference in New Issue
Block a user