From 4641b367cf397f05440cc042d9ef0fc700278cff Mon Sep 17 00:00:00 2001 From: Jan Tuomi Date: Wed, 5 Dec 2018 15:44:41 +0200 Subject: Solve day 1.2 --- day1/src/main.rs | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) (limited to 'day1') diff --git a/day1/src/main.rs b/day1/src/main.rs index f9b93ce..972b1ee 100644 --- a/day1/src/main.rs +++ b/day1/src/main.rs @@ -3,6 +3,7 @@ use std::io::BufReader; use std::io::BufRead; use std::fs::File; use std::process; +use std::collections::HashSet; fn main() { let args: Vec = env::args().collect(); @@ -22,6 +23,7 @@ fn main() { let file = BufReader::new(&f); let mut diffs: Vec = Vec::new(); + // exercise 1 for line in file.lines() { let l = line.unwrap(); let res = l.parse::(); @@ -37,5 +39,20 @@ fn main() { } let result: i32 = diffs.iter().fold(0, |acc, x| acc + x); - println!("{}", result); + println!("Exercise 1: {}", result); + + // exercise 2 + let mut found = HashSet::new(); + found.insert(0); + let mut sum = 0; + loop { + for diff in &diffs { + sum = sum + diff; + if found.contains(&sum) { + println!("Exercise 2: {}", &sum); + process::exit(0); + } + found.insert(sum); + } + } } -- cgit v1.3