summaryrefslogtreecommitdiff
path: root/2017/src/bin/day_1.rs
diff options
context:
space:
mode:
authorJustin Wernick <justin@worthe-it.co.za>2022-04-19 20:29:56 +0200
committerJustin Wernick <justin@worthe-it.co.za>2022-04-19 20:29:56 +0200
commit34c0aa87fada4bf3bc75ff0493e0876e65289697 (patch)
tree599148bcbb7f05941edfac5ab3454a878129e997 /2017/src/bin/day_1.rs
parent174772b5b8d9f5bf5e3c8e8152adfd89f0e83f6b (diff)
parentc99848b907d2d63577ffdc81fc11a77e4d328a92 (diff)
Merge branch '2017-main'
Diffstat (limited to '2017/src/bin/day_1.rs')
-rw-r--r--2017/src/bin/day_1.rs24
1 files changed, 24 insertions, 0 deletions
diff --git a/2017/src/bin/day_1.rs b/2017/src/bin/day_1.rs
new file mode 100644
index 0000000..5d0e431
--- /dev/null
+++ b/2017/src/bin/day_1.rs
@@ -0,0 +1,24 @@
+extern crate advent_of_code_2017;
+use advent_of_code_2017::*;
+
+fn main() {
+ let args = AdventArgs::init();
+
+ let number_chars = args.input[0].chars().collect::<Vec<_>>();
+
+ let mut sum = 0;
+
+ for i in 0..number_chars.len() {
+ let next = if args.part == 1 {
+ (i + 1)
+ } else {
+ (i + number_chars.len() / 2)
+ } % number_chars.len();
+ if (number_chars[i] == number_chars[next]) {
+ let parsed: i32 = number_chars[i].to_string().parse().unwrap();
+ sum += parsed;
+ }
+ }
+
+ println!("Sum is {}", sum);
+}