diff options
Diffstat (limited to '2017/src/bin/day_1.rs')
-rw-r--r-- | 2017/src/bin/day_1.rs | 24 |
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); +} |