aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/day1.rs16
-rw-r--r--src/lib.rs5
2 files changed, 21 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
+}
diff --git a/src/lib.rs b/src/lib.rs
new file mode 100644
index 0000000..982ebfa
--- /dev/null
+++ b/src/lib.rs
@@ -0,0 +1,5 @@
+use aoc_runner_derive::aoc_lib;
+
+pub mod day1;
+
+aoc_lib!{ year = 2021 }