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