diff options
Diffstat (limited to 'src/day1.rs')
-rw-r--r-- | src/day1.rs | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/day1.rs b/src/day1.rs new file mode 100644 index 0000000..e5dd408 --- /dev/null +++ b/src/day1.rs @@ -0,0 +1,16 @@ +use aoc_runner_derive::*; +use std::str::FromStr; + +#[aoc_generator(day1)] +pub fn input_generator<'c>(input : &'c str) -> Vec<u32>{ + input.lines().map(u32::from_str).map(Result::unwrap).collect() +} + +#[aoc(day1, part1)] +pub fn solve_part1(input : &Vec<u32>) -> u32 { + struct Helper { + count : u32, + prev : u32, + } + input.iter().fold(Helper{count:0,prev:u32::MAX},|x ,curr| -> Helper {if curr > &x.prev {Helper{count : x.count + 1, prev : *curr}} else {Helper{count : x.count, prev : *curr}}}).count +} |