From 1914de8e049ad7bfaa327fc93f97bb85f5bd2b8e Mon Sep 17 00:00:00 2001 From: Curtis McEnroe Date: Sat, 2 Dec 2017 00:25:56 -0500 Subject: Day 2, part 2 --- 2017/src/bin/day02.rs | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to '2017/src/bin') diff --git a/2017/src/bin/day02.rs b/2017/src/bin/day02.rs index 07551a2..ca721d7 100644 --- a/2017/src/bin/day02.rs +++ b/2017/src/bin/day02.rs @@ -11,14 +11,41 @@ fn solve1(input: &str) -> u32 { sum } +fn solve2(input: &str) -> u32 { + let mut sum = 0; + + for row in input.lines() { + let values: Vec = row.split_whitespace() + .map(str::parse) + .map(Result::unwrap) + .collect(); + + for x in &values { + for y in &values { + if x != y && x % y == 0 { + sum += x / y; + } + } + } + } + + sum +} + fn main() { let mut input = String::new(); io::stdin().read_to_string(&mut input).unwrap(); println!("Part 1: {}", solve1(&input)); + println!("Part 2: {}", solve2(&input)); } #[test] fn part1() { assert_eq!(18, solve1("5 1 9 5\n7 5 3\n2 4 6 8\n")); } + +#[test] +fn part2() { + assert_eq!(9, solve2("5 9 2 8\n9 4 7 3\n3 8 6 5\n")); +} -- cgit 1.4.1 /src/commit/home/.config/htop/htoprc?id=f49d2a9ddcfa4402b78f2d6fa121fa97f7e71017&follow=1'>commit diff
Commit message (Collapse)Author
2020-05-13Remove gpg symlink from NetBSD installJune McEnroe
2020-05-11Add AutonomousJune McEnroe
Why do the bad guys get a happy ending though?
2020-05-08Move keyboard layout into a .bundleJune McEnroe
Based on Workman.bundle. This seems to make it stick, though I don't want to speak too soon.
2020-05-07Remove mkshJune McEnroe
2020-05-07Emulate 1sh prompts in bashJune McEnroe
2020-05-07Update nvim MANPAGERJune McEnroe
Not sure when this was added. Has the advantage of working properly in more versions of man(1) it seems.
2020-05-06Post "casual update"June McEnroe
2020-05-06Remove bman functionJune McEnroe