summaryrefslogtreecommitdiff
path: root/src/bin
diff options
context:
space:
mode:
authorJustin Worthe <justin@worthe-it.co.za>2017-12-02 07:26:08 +0200
committerJustin Worthe <justin@worthe-it.co.za>2017-12-02 07:26:08 +0200
commit33db46ef6dcdddeb8e9c64ca6f18a1cedfe9de36 (patch)
treee8c83fd3e00ccdf30e8c01efe6abb5032c0b03b0 /src/bin
parent5e5abff58c998448908acf71937915d72314c9ea (diff)
Day 2
Diffstat (limited to 'src/bin')
-rw-r--r--src/bin/day_2.rs26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/bin/day_2.rs b/src/bin/day_2.rs
new file mode 100644
index 0000000..307029a
--- /dev/null
+++ b/src/bin/day_2.rs
@@ -0,0 +1,26 @@
+extern crate advent_of_code_2017;
+use advent_of_code_2017::*;
+
+fn main() {
+ let args = AdventArgs::init();
+ let sum = args.input.iter().map(|line| {
+ let splitline = parse_space_separated_ints(line).unwrap();
+
+ if args.part == 1 {
+ let max = splitline.iter().max().unwrap();
+ let min = splitline.iter().min().unwrap();
+ max-min
+ } else {
+ for i in 0..splitline.len() {
+ for j in 0..splitline.len() {
+ if i != j && splitline[i] % splitline[j] == 0 {
+ return splitline[i] / splitline[j];
+ }
+ }
+ }
+ panic!("Didn't find a dividing one! {:?}", splitline)
+ }
+ }).sum::<i32>();
+
+ println!("Checksum is {}", sum);
+}