From bc3599fff00668f6511d40b08bda521483ebc496 Mon Sep 17 00:00:00 2001 From: MasterofJOKers Date: Tue, 20 Dec 2022 00:48:04 +0100 Subject: [PATCH] day07: Changes for part 2 Now that we have the sizes of the directories in a list, it's quite easy to work with them to get part 2 using Iterator functions. --- day07/src/main.rs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/day07/src/main.rs b/day07/src/main.rs index ad37050..e03bad0 100644 --- a/day07/src/main.rs +++ b/day07/src/main.rs @@ -153,8 +153,9 @@ fn main() -> Result<(), Box> { // compute sizes let sizes = fs_tree.get_dir_sizes(); - println!("{}", sizes.iter().filter(|x| **x < 100000).sum::()); - - println!("Hello, world!"); + let full_space = 70000000; + let free_space = full_space - sizes[sizes.len() - 1]; + let needed_space = 30000000 - free_space; + println!("{}", sizes.iter().filter(|x| **x > needed_space).min().unwrap()); Ok(()) }