aoc 2022 day 1
This commit is contained in:
parent
8c6ffc2eb9
commit
c7c444bce9
7
2022/Cargo.lock
generated
Normal file
7
2022/Cargo.lock
generated
Normal file
@ -0,0 +1,7 @@
|
||||
# This file is automatically @generated by Cargo.
|
||||
# It is not intended for manual editing.
|
||||
version = 3
|
||||
|
||||
[[package]]
|
||||
name = "advent-2022"
|
||||
version = "0.1.0"
|
16
2022/Cargo.toml
Normal file
16
2022/Cargo.toml
Normal file
@ -0,0 +1,16 @@
|
||||
[package]
|
||||
name = "advent-2022"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
|
||||
[lib]
|
||||
name = "advent_2022"
|
||||
path = "src/lib.rs"
|
||||
|
||||
[[bin]]
|
||||
name = "day1"
|
||||
path = "src/day1.rs"
|
||||
|
||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
|
||||
[dependencies]
|
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!();
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user