From f5452fdbd5c3feba31bc8892bb368df6e137e9b1 Mon Sep 17 00:00:00 2001 From: Curtis McEnroe Date: Sat, 2 Dec 2017 00:15:54 -0500 Subject: Day 2 --- 2017/input/day02.txt | 16 ++++++++++++++++ 2017/src/bin/day02.rs | 24 ++++++++++++++++++++++++ 2 files changed, 40 insertions(+) create mode 100644 2017/input/day02.txt create mode 100644 2017/src/bin/day02.rs (limited to '2017') diff --git a/2017/input/day02.txt b/2017/input/day02.txt new file mode 100644 index 0000000..be4953f --- /dev/null +++ b/2017/input/day02.txt @@ -0,0 +1,16 @@ +798 1976 1866 1862 559 1797 1129 747 85 1108 104 2000 248 131 87 95 +201 419 336 65 208 57 74 433 68 360 390 412 355 209 330 135 +967 84 492 1425 1502 1324 1268 1113 1259 81 310 1360 773 69 68 290 +169 264 107 298 38 149 56 126 276 45 305 403 89 179 394 172 +3069 387 2914 2748 1294 1143 3099 152 2867 3082 113 145 2827 2545 134 469 +3885 1098 2638 5806 4655 4787 186 4024 2286 5585 5590 215 5336 2738 218 266 +661 789 393 159 172 355 820 891 196 831 345 784 65 971 396 234 +4095 191 4333 161 3184 193 4830 4153 2070 3759 1207 3222 185 176 2914 4152 +131 298 279 304 118 135 300 74 269 96 366 341 139 159 17 149 +1155 5131 373 136 103 5168 3424 5126 122 5046 4315 126 236 4668 4595 4959 +664 635 588 673 354 656 70 86 211 139 95 40 84 413 618 31 +2163 127 957 2500 2370 2344 2224 1432 125 1984 2392 379 2292 98 456 154 +271 4026 2960 6444 2896 228 819 676 6612 6987 265 2231 2565 6603 207 6236 +91 683 1736 1998 1960 1727 84 1992 1072 1588 1768 74 58 1956 1627 893 +3591 1843 3448 1775 3564 2632 1002 3065 77 3579 78 99 1668 98 2963 3553 +2155 225 2856 3061 105 204 1269 171 2505 2852 977 1377 181 1856 2952 2262 \ No newline at end of file diff --git a/2017/src/bin/day02.rs b/2017/src/bin/day02.rs new file mode 100644 index 0000000..07551a2 --- /dev/null +++ b/2017/src/bin/day02.rs @@ -0,0 +1,24 @@ +use std::io::{self, Read}; + +fn solve1(input: &str) -> u32 { + let mut sum = 0; + for row in input.lines() { + let values = row.split_whitespace() + .map(str::parse::) + .map(Result::unwrap); + sum += values.clone().max().unwrap() - values.min().unwrap(); + } + sum +} + +fn main() { + let mut input = String::new(); + io::stdin().read_to_string(&mut input).unwrap(); + + println!("Part 1: {}", solve1(&input)); +} + +#[test] +fn part1() { + assert_eq!(18, solve1("5 1 9 5\n7 5 3\n2 4 6 8\n")); +} -- cgit 1.4.1