Day 1, puzzle 1
This commit is contained in:
		
							
								
								
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1 @@
 | 
			
		||||
/target
 | 
			
		||||
							
								
								
									
										7
									
								
								Cargo.lock
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								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 = "aoc23"
 | 
			
		||||
version = "0.1.0"
 | 
			
		||||
							
								
								
									
										12
									
								
								Cargo.toml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								Cargo.toml
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,12 @@
 | 
			
		||||
[package]
 | 
			
		||||
name = "aoc23"
 | 
			
		||||
version = "0.1.0"
 | 
			
		||||
edition = "2021"
 | 
			
		||||
 | 
			
		||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
 | 
			
		||||
 | 
			
		||||
[dependencies]
 | 
			
		||||
 | 
			
		||||
[[bin]]
 | 
			
		||||
name = "d1p1"
 | 
			
		||||
path = "src/d1p1.rs"
 | 
			
		||||
							
								
								
									
										28
									
								
								src/d1p1.rs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								src/d1p1.rs
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,28 @@
 | 
			
		||||
use std::io;
 | 
			
		||||
 | 
			
		||||
fn main() {
 | 
			
		||||
    println!("What's the calorie list?");
 | 
			
		||||
    let lines = io::stdin().lines();
 | 
			
		||||
    let mut was_empty = false;
 | 
			
		||||
    let mut elves = vec![0];
 | 
			
		||||
    for line in lines {
 | 
			
		||||
        let line_s = line.unwrap();
 | 
			
		||||
        if line_s.is_empty() {
 | 
			
		||||
            if was_empty {
 | 
			
		||||
                break;
 | 
			
		||||
            }
 | 
			
		||||
            elves.push(0);
 | 
			
		||||
            was_empty = true;
 | 
			
		||||
            continue;
 | 
			
		||||
        } else {
 | 
			
		||||
            was_empty = false;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        let calories: u32 = line_s.parse().expect("Wanted a number");
 | 
			
		||||
        let prev_calories = elves.pop().unwrap();
 | 
			
		||||
        elves.push(prev_calories + calories);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    let max = elves.iter().max().unwrap();
 | 
			
		||||
    println!("The elf with the most calories is carrying {} cal", max);
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user