summaryrefslogtreecommitdiff
path: root/2018/src/day4.rs
diff options
context:
space:
mode:
Diffstat (limited to '2018/src/day4.rs')
-rw-r--r--2018/src/day4.rs8
1 files changed, 4 insertions, 4 deletions
diff --git a/2018/src/day4.rs b/2018/src/day4.rs
index 90cab72..f5e219f 100644
--- a/2018/src/day4.rs
+++ b/2018/src/day4.rs
@@ -68,7 +68,7 @@ fn argmax<T: Ord>(v: &[T]) -> Option<usize> {
}
}
-pub fn main<T: BufRead>(reader: T) -> io::Result<()> {
+pub fn main<T: BufRead>(reader: T) -> io::Result<(String, String)> {
let mut records: Vec<Record> = reader.lines().map(|l| parse_line(&l.unwrap())).collect();
records.sort_unstable();
@@ -124,11 +124,11 @@ pub fn main<T: BufRead>(reader: T) -> io::Result<()> {
let sleepy_guard = guards.get(&max_sleep_at).unwrap();
let max_minute = argmax(&sleepy_guard.asleep).unwrap() as i32;
- println!("{}", max_minute * sleepy_guard.id);
+ let part1 = max_minute * sleepy_guard.id;
let consistent_guard = guards.get(&max_times_at).unwrap();
let max_minute = argmax(&consistent_guard.asleep).unwrap() as i32;
- println!("{}", max_minute * consistent_guard.id);
+ let part2 = max_minute * consistent_guard.id;
- Ok(())
+ Ok((part1.to_string(), part2.to_string()))
}