diff --git a/2022/rust/src/day2.rs b/2022/rust/src/day2.rs index 093b9d3..e8b7139 100644 --- a/2022/rust/src/day2.rs +++ b/2022/rust/src/day2.rs @@ -48,16 +48,50 @@ fn part1(input: &str) -> i32 { input .lines() .map(|s| { - println!("{:?}", s); - println!("{:?}", s.chars().nth(2)); let mut c = s.chars(); rps(c.nth(0).unwrap(), c.nth(1).unwrap()) }) .sum() } +fn rps2(a: char, b: char) -> i32 { + match b { + 'X' => { + 0 + match a { + 'A' => 3, + 'B' => 1, + 'C' => 2, + _ => 1000000, + } + } + 'Y' => { + 3 + match a { + 'A' => 1, + 'B' => 2, + 'C' => 3, + _ => 1000000, + } + } + 'Z' => { + 6 + match a { + 'A' => 2, + 'B' => 3, + 'C' => 1, + _ => 1000000, + } + } + _ => 1000000, + } +} + fn part2(input: &str) -> i32 { - 0 + input + .lines() + .map(|s| { + let mut c = s.chars(); + rps2(c.nth(0).unwrap(), c.nth(1).unwrap()) + }) + .sum() } #[cfg(test)] @@ -73,8 +107,8 @@ C Z"; assert_eq!(part1(TEST_INPUT), 15) } - // #[test] - // fn test_part2() { - // assert_eq!(part2(TEST_INPUT), 10000) - // } + #[test] + fn test_part2() { + assert_eq!(part2(TEST_INPUT), 12) + } }