From 12ea10cdeba0e308dfcc163464779044bb80a24c Mon Sep 17 00:00:00 2001 From: Max Hohlfeld Date: Fri, 2 Dec 2022 09:51:40 +0100 Subject: [PATCH] aoc2022 day 02 --- src/aoc2022/day02/input.txt | 2501 +++++++++++++++++++++++++++++++++++ src/aoc2022/day02/mod.rs | 59 + src/aoc2022/mod.rs | 1 + src/main.rs | 3 + 4 files changed, 2564 insertions(+) create mode 100644 src/aoc2022/day02/input.txt create mode 100644 src/aoc2022/day02/mod.rs diff --git a/src/aoc2022/day02/input.txt b/src/aoc2022/day02/input.txt new file mode 100644 index 0000000..46dab25 --- /dev/null +++ b/src/aoc2022/day02/input.txt @@ -0,0 +1,2501 @@ +B Z +B Z +C Z +C Z +B X +C Y +A Y +B Z +A Z +A Y +C Z +C X +C Z +C X +B X +B Z +B Z +A Z +C Z +C Z +C Y +C Z +B Z +B Z +A X +A Y +B Z +B Z +C Z +B Z +B Z +C X +C Z +A Y +A X +A X +C Z +C Z +B X +C X +B Z +A Z +B X +B Z +B Z +A Z +B Z +A Y +C Z +C Z +B X +C Z +A Z +C Z +C Z +C Z +C Z +A Z +B Z +C Z +A Z +C Z +C Z +C Y +A Y +C X +C Z +C Z +C Z +C Z +A Y +C X +A Y +A Y +C X +B Z +A Y +C Y +C Z +B Z +C Z +B Z +B Z +B Z +C Y +B Z +A Y +C Z +C Z +A X +C X +C Z +A X +C Z +C Z +C X +A Z +C Z +C Z +B Z +C Y +A Y +C Y +C Y +A Z +B Z +C Z +C Z +C Z +A Z +C Z +B X +C Z +A Y +C Z +C X +C Y +C Y +B Z +C Z +C Z +A X +C X +C Z +C Z +A Z +B Z +B Z +C X +C Z +B Z +C X +B Z +C Z +B Z +B Z +B Z +B Z +C Y +C Z +B Z +C Z +C Z +C Z +C Z +B Z +C Z +B Z +C Z +B Z +C Z +C Y +C Z +C Z +C X +C Z +C Z +C Y +C Z +C Y +C X +B Z +B Z +C Z +A Z +C Z +C Z +C Z +B Z +C Z +B Z +C Z +B Z +C Z +C Z +B X +B Z +C Z +C Z +A Z +A Z +B Z +C Z +C Z +A Z +B X +C X +A Z +C Z +C Z +B Y +B Z +B Z +A Y +B Z +C Z +C Z +A Y +B Z +C Y +A Z +C X +A Z +A Y +C X +C Y +C Z +B Z +C Z +A Y +B Z +B Z +C Z +C Z +C Z +C Z +C Z +B Z +C Z +A X +C Z +C Z +A Y +C Z +A Y +C Z +B Z +C Z +A Y +C Z +C Y +C Z +B Z +C X +A Y +C X +A Y +B X +C Y +B X +C Z +C Y +C Z +C Y +C Y +B Z +C Z +A Y +C X +C Z +C Z +B Z +A Z +C Z +C Z +C Y +C Z +C Y +B X +C Z +C Z +C Z +C X +A Y +B Z +C Z +C Z +C Z +B Z +A Y +A Z +A Y +B Z +A Z +A Y +B Z +C Z +A Y +A Z +B Z +B Z +B Z +C Z +C Z +C Z +C Z +C Z +C Z +B Z +C Z +C Z +C Z +A Z +A Y +C X +C Z +A Z +C Z +A Y +C Z +A Y +C Z +C Z +A X +C Y +C Z +A X +C X +A X +B Z +C Z +A X +C Z +B Z +A X +C Z +A Y +A Z +C Y +A Y +C Y +A Z +B Z +A Z +B Z +C X +C X +C Z +C Z +B Z +A Y +C Z +A Y +C Z +B Z +B X +B X +B X +A Z +B Z +C X +C Z +A Y +C Z +B X +A Y +C X +B Z +C Z +C Z +C Z +C Z +A Z +B Z +B Z +B X +A Y +C Z +C X +A Y +C Z +C Z +C Z +A Y +A X +B Z +C Z +A Z +C Y +A Z +B Z +A Y +C Z +C Z +B Z +A Y +B Z +A Z +A Y +C Z +A X +C Z +C Z +B Z +C Z +C X +A Y +A Y +B Z +C Z +B X +A Y +C Z +C Z +A X +A Z +C Z +C Z +A Y +C Z +C Y +A Y +A Y +B Z +C Z +C Z +C X +C Z +A Y +B Z +C Z +C Z +A Y +B Z +C Z +C Z +B Z +A Y +B Z +C Z +C Z +C Z +C X +C Z +C Z +C Z +C Y +C X +C Y +C Z +B Z +A Y +C X +B Z +C X +C X +C Z +A Z +C Z +B X +A Y +C Z +B Z +A X +B X +C X +C Z +C Z +B Z +B Z +C Z +C Z +A Y +B Z +A Z +B Z +A Z +A X +C Z +A Z +A Z +B X +A Z +B Z +B Z +A Y +C Y +B Z +B Z +B Z +B Z +C Z +B Z +C Z +B Z +C Y +C Z +C Z +C X +C Z +C Y +C Y +C X +A Y +C Y +B Z +C Z +A Y +A Z +B X +C Z +C Z +A Y +A Y +A Y +C Z +A Z +C Z +B Y +A X +A Y +C Z +A X +B Z +C Z +C Z +B Z +C Z +A Z +C X +C Z +B Z +B Z +C Z +B Z +A Z +C Z +C Z +A Y +B Z +A Y +B Z +C Z +B Z +C Z +B Z +B Z +A Y +C Y +B Z +C Z +A Z +B Z +C Z +C Z +A Z +B Z +C Z +A Y +A Z +C X +B Z +A Y +A Y +C Z +A Z +B Z +B Z +C Z +C Z +C Z +C Z +A Y +A X +C Z +B Z +C Z +C Z +C Y +C Z +A X +A Z +C Z +B X +A Z +B X +B X +A Y +A Y +A Y +C Z +C Z +C Z +A Z +C X +A Y +C Z +B Z +C Z +A X +B Z +A X +A Z +C Z +C Z +C Z +B X +B Z +C X +B Z +C Z +C Z +C Z +A Y +B Z +B Z +C Z +A X +B Z +A Y +C Z +A Y +A Y +C Z +C Z +A Y +C X +C Z +A Y +C Z +B Z +B Z +C Z +C Y +B Z +B Z +C Z +A Y +C Z +B Z +B X +A Y +A Z +C Z +B Z +C Z +C X +A Y +A Z +A Y +B Z +A Z +B Z +A Y +A Y +B Z +C Z +C Z +C Z +A Y +A X +B Z +A Y +C Z +B X +C Z +C Z +A Y +C Z +C Z +C Y +C Z +C Y +B Z +B Z +C Z +C Z +B Z +B Z +B Z +C Z +B Z +B Z +C Z +C Z +C X +C Z +C Z +B Z +B Z +C X +A Y +C Y +C X +B Z +C X +B Z +C Z +A Z +C Y +C Z +C X +B X +A Y +C Y +A X +C Z +C Z +C Z +C Z +A Y +C Y +C Z +A Y +C Z +C Z +B Z +B Z +B Z +C Z +C Z +C Z +C Z +C Z +C Z +B Z +C Z +B Z +C Z +B Z +C Z +C Z +B Z +C Z +C Z +C Z +A Y +C Z +C Z +A X +C Z +C Z +A X +B Z +C Z +A Y +C X +C Z +A Z +C Y +A Y +C Z +B Z +C Z +B Z +C X +C Y +B Z +C Z +C Z +A Y +C X +C Z +C Z +B X +C Z +C Z +C Z +C Z +A Z +A Y +C Z +B Z +C Z +B Z +A Y +B Z +C Z +B Z +B Y +C Z +B Z +A Y +C Z +C Y +C Z +A X +B Z +C Z +A Z +A Z +B Z +A X +B Z +B Z +C Y +C Z +C Z +B Y +B Z +C Z +A Y +B X +B Z +C Z +C Z +C Z +B X +A Y +A Y +B Z +B Z +C Z +B Z +C Z +C Y +B Z +B Z +B X +A Y +A Y +A Y +B X +C Z +C Z +B Z +C Z +C X +B Z +C Z +C Z +B Z +C Z +C Z +A Y +B Z +A Y +C Y +B Z +B Z +B Z +C X +C Z +C Z +C Z +C X +C Z +A X +B Z +C Z +C Z +A Y +B Z +C Z +A Y +C Z +B Z +C Z +C Z +B Z +B Z +C Z +C Z +C Y +C Z +C Y +C X +C Z +C Y +C Z +A Y +B Z +B Z +A Y +B Z +B X +B X +A Z +C Y +C Z +C Z +B Z +C Z +C Z +C Z +C Z +C Y +C Z +B Z +C Z +C Z +C Z +B Z +B Z +C Z +B X +C Y +A X +C Z +A Z +C Y +C Z +C Z +B Z +C Z +C Z +C Z +B Z +A Y +A Z +B X +C X +A Y +A Y +C Z +C Z +C Z +C Z +C Z +C Z +C Y +C Z +C Z +C Z +A Y +A Z +C Z +A Y +C Z +C Z +B Z +B Z +B X +A Y +B Z +C Y +C Z +B Z +A Z +A Y +A X +C Z +B Z +C Z +B Z +B Z +C Z +C Z +C Z +C Z +A Y +A Z +C Z +C Z +A Y +C Y +C Z +A X +B X +B X +C Z +C Z +B Z +A Y +A Y +A Y +A X +C Z +B Z +B Z +B Z +A Y +C Y +B Z +A Z +C Z +B X +C Z +C Z +C X +C X +C Z +A Y +B Z +C Z +A Y +C Z +A X +C Z +B Z +B Z +B Z +C Z +B Z +C Z +A Z +C Z +B Z +C Z +A Y +C Z +A Z +C Z +C Y +B Z +A Z +C Z +B Y +A Z +C Z +A X +C Z +B Z +A X +C Z +B Z +C Z +C X +A Y +C Z +B Z +A X +C Z +B Z +C Z +A Y +C Z +C Z +C Z +B Z +C Y +C Z +C X +A Z +C Z +C Z +B Z +C Z +C Z +C Z +A Z +C Z +A Y +A X +C Z +A Y +C X +C Z +B Z +C Z +B Z +B Z +A Y +B Z +A Y +A Y +C X +B Z +C Z +C Z +C Z +C Z +C Z +A Y +B Z +C Z +A Y +B Z +C Z +C Z +A Y +B Z +C Z +C Y +B Z +C Z +B Z +A Z +C X +B Z +C Y +C Z +C Z +C X +C X +A X +C Z +B Z +A Z +C Z +B Z +B X +C Z +C Z +C Z +C Z +B Z +B X +C Z +C Z +C Z +B Z +C Y +B Z +B X +C Y +C Z +C Z +B Z +A Z +C Y +C X +C Z +B Z +C Z +C Z +C Z +B Z +B X +C Z +C Z +A Y +C Z +C Y +A Y +A Z +B Y +C Z +A Y +C X +C X +C X +C Z +B Z +C Z +C Z +B Z +C Z +A Y +C Z +C Z +B Z +C X +C Z +B Z +C Z +A Y +C Z +C Z +C X +C Z +B Z +C Y +C Z +A Z +C Z +B Z +A Z +B Z +C Z +A Y +B Z +C Z +C Z +B Z +A Z +C Z +C X +C Z +C Z +A Y +A Y +A Z +C Z +A Y +A X +C Z +C Z +C Z +C X +A Z +C Z +A Y +C Z +C Z +C Y +C Z +C Z +B Z +C Z +C Z +B Z +B Z +C Z +C Z +C Z +B Z +C Z +C Z +C Y +B Z +C Y +B Z +B X +C Z +C Z +A Y +B Z +C Y +B Z +B Z +B Z +B Z +C Z +C Y +A X +C Z +C Z +C Z +C Z +C Z +B Z +C Z +A Y +C Z +C Z +A Y +A Y +C Z +C Z +B Z +B Z +C X +C Z +C Z +A X +C Z +C Y +C Z +B Z +C Z +A Y +C Z +C Z +C Z +C X +A Y +C Z +C X +B Z +C Z +C Z +C Y +C Z +A Y +B Z +B Z +A X +C Y +C Z +B X +A X +C Z +C Z +C Z +C Z +C Y +A X +B Z +C Z +C Z +A Y +B X +A Z +A Y +B Z +C Z +C X +A X +C X +C Y +C Z +B X +A X +C Z +C Z +B X +A Y +A Y +A Y +C Z +C Z +A Y +C Z +A Z +A Y +C Z +B X +C Z +C Z +C X +C Z +C Z +A Z +B Z +A Z +C Y +C Y +C Y +C Z +C X +C Z +A Y +B Z +C Z +B Z +C Z +A Y +C X +C Z +C Z +B Z +C Z +C Y +A Y +B Z +B Z +B X +B Z +C Z +A Y +C Z +B Z +A Y +C Z +C Z +B Z +A Y +C Z +C Z +C Z +C Z +A Z +A Y +C Z +C X +A Z +A Z +C Z +C Z +C Z +A Y +B Z +B Z +B Z +B Z +C Z +C X +C Z +C Z +B Z +B Z +C Z +C X +A Z +A Y +C Z +B Z +C X +C X +A Y +A Y +C Z +B X +C Z +C Y +C X +A Y +C Y +C Z +C Z +B Z +A Z +C Z +C Z +C Z +C X +C Z +B Z +A Y +C Z +B Z +C Z +A Y +A Y +B X +B X +B Z +C Z +C Z +C Z +C Z +C X +C Z +B Z +C X +C X +A Z +B Y +C Z +C Z +C X +B Z +C Z +C Z +A Z +C Z +C X +A Y +A Z +C Z +B Z +C Z +B X +A Y +C Z +C Z +B Z +C X +B Z +B Z +C Z +C Z +C Z +B Z +A Z +C Z +A X +C Z +C Z +C Z +C X +C X +B Z +C Y +C Z +C Y +A Z +A Y +A X +B Z +A Y +C Z +C Y +B Z +B Z +B Z +B Y +B Z +A X +C Z +A Y +B Z +A Y +C Z +C Z +C Z +A Y +C Z +B Z +C Z +A Z +C Y +C X +A Y +A Y +A Y +B Z +C Y +C Z +C Z +C X +B Z +A Y +C Z +C Z +B Z +A Z +C Z +B Z +C X +C Z +B Z +C Z +C Z +B Y +B Z +C Y +B Z +A X +C Y +B Z +C Z +A Y +C Z +A Z +C Z +B Z +A X +C Y +C Y +A Y +A Z +B Z +A Z +C Z +C Y +C X +C Z +A Y +C Z +A Y +C Z +C Z +C Z +C Y +C X +C X +B Z +A Y +C Z +A X +C Z +A Z +C X +A X +A Z +A Y +C Z +C Z +C Z +B Z +B Z +C Z +C Z +C Z +A Y +C Z +A Z +C Z +C Z +C X +C X +C Z +C Z +C Z +C Z +C Z +A Y +B Z +B Z +C Z +B X +C Y +C Z +C Z +C Z +A Y +B X +C Z +C X +B Z +A Z +B X +C Z +C Z +B Z +C X +B Z +C Z +A Y +C X +A Y +A Z +C Y +C Z +C Y +C Z +C X +C Z +C Z +C Z +C Z +C Z +C Z +B Z +C Z +B Z +C X +C Z +C X +B Z +A Z +A X +C Z +A Y +C Y +C Z +C Z +C Z +B Z +B Z +A X +C Z +B Z +C Z +C Z +A X +C Z +B Z +C X +C Z +C Z +C Z +C Z +B X +C X +B Z +C Z +B Z +A Y +C Z +A Y +B X +C Z +C Z +C Z +C Z +A Y +C Z +C Z +B Z +C Z +C Z +B Z +A Y +C X +C Z +C Z +A Y +C X +B Z +B Z +A Y +C Z +B Z +C Z +A Y +B Z +A Z +C Z +B Z +C Z +B Z +C X +B Z +C Z +C Z +C Z +A Y +A Y +C Z +B Z +A Y +B X +C Z +B Z +C X +C Z +B Z +B Z +C Y +C Y +A Z +C X +C Z +B Z +A Y +C Z +C Z +B Z +A Y +B Z +A Z +C Z +B Z +B Z +B Z +C Z +C X +B Z +C Z +B Z +C Z +C Z +A Y +A Y +C Z +C X +A Y +B Z +C Z +A Z +C Z +B Z +A Y +C Z +C X +C Z +C Z +C Z +C Z +A Y +C Z +C X +B Z +B X +C Z +A Y +C Y +C Z +C Z +C X +C Z +C X +C X +C Z +B Z +B X +A Z +A Z +C Z +C Y +A Y +C Z +A Y +C Z +C Z +C Z +B Z +B Z +C Z +B Z +C Z +C Z +C Y +B Z +B Z +C Z +C Z +B Z +C X +A Z +C Z +C Z +A Y +A Y +A Y +C Z +C Z +B Z +A Z +A X +A Y +C X +C Z +B Z +C X +C X +B Z +B Z +B X +C Z +C Y +B Y +C Z +C Z +C Z +B Y +A Y +A Y +C Z +C Z +C Z +C Z +C Z +C Z +C Z +C Z +B X +A Z +A X +C Z +A Y +A Z +C X +C Z +C Y +C Z +C Z +C Z +B Z +B Z +A Y +A Z +C X +B X +B X +C Z +C Y +C Z +C Z +C Y +C Z +C Z +A Z +B Z +C Z +A Y +C Z +C Z +C Z +A Y +C Z +B Y +B X +C Z +A Y +B X +C Y +A Y +C Z +C Z +C Y +A Z +B Z +C Z +C Z +B Z +C Y +C X +C Y +C Y +B Z +C Z +B Z +C Z +A Y +A Y +A Y +B Z +C Z +A Z +C Z +C Y +B Z +B Z +C Y +C Z +C Z +A Y +C Z +C Z +B Z +C Z +C X +A X +A Y +A Y +B Z +C Z +B X +A Y +B Z +C Z +C Z +B Z +A Y +C Z +C Z +B X +A Y +C Z +B X +A Y +C Z +C X +A Z +B Z +B Z +C Z +C X +A Y +C Z +C Z +A Y +B Z +C Z +A Y +C Z +A Y +C Z +B Z +C Z +A X +B Z +C Z +C Z +C X +B Y +A Y +A X +C X +B Z +C Z +C X +B Z +C Z +C Z +C Z +C Z +A Z +C Z +A Y +B X +C Z +C Z +B Z +B Z +C X +B Z +B X +C Z +C Z +C Z +A Y +C Z +C Z +C Z +C Z +A Y +A Z +B Z +C Y +A Z +C Z +C Z +C Z +B X +B Z +C Z +B Z +C Z +C X +C Z +A X +C Z +C Z +C Z +C Z +C Z +A Y +A Y +B Z +B Z +B Z +B Z +C Z +C Z +C Z +C Z +A Z +A Y +C Z +A Z +A Y +C Z +C Z +C Y +A Y +B Z +C X +B Z +A Y +C Z +A Y +C Z +B Z +B Z +B Z +C Z +C Z +A Z +A Y +C X +A Y +C Z +A Y +C Z +C Z +A Y +B Z +C Z +C Y +C Z +B Z +B Z +B Z +C Y +C Z +B Z +C X +B Z +A Y +B Z +C Z +A Y +C Z +C Y +C Z +C Z +C Z +C Z +B X +B Z +C Z +C Z +A Y +C Y +C Z +C Z +C Z +C Z +C Z +C X +B Z +C X +A Y +B X +A Y +C Z +B Z +A Y +B Z +C Z +A Y +C Z +C Z +C X +C X +C Z +B Z +C X +C Z +A X +A Z +C Z +C Y +A Y +A X +B Z +C Z +C Z +B Z +A Y +C Z +A X +B Z +B Z +A X +C Y +C Z +A Y +B Z +C Z +C Z +C Z +B Z +C Z +B Z +C Z +B X +B Z +C Z +A X +C Z +A X +C Z +A Y +C Z +A Z +C Z +C Z +C Z +B X +A Y +A Y +A X +B Z +B Z +C Y +C Z +B Z +A X +C Z +A Y +C Z +C Z +B Z +C Z +C X +B X +B Z +B X +C Z +C Z +B Z +A Z +C Z +C Y +C Y +C Z +C Z +C Z +C Z +C Z +C Z +A X +A Z +C Z +B Z +B Z +B Z +C X +A Z +C Z +C Z +B Z +B Z +C Z +B X +C Z +B Z +C Z +C Z +C Z +C Z +A X +A Z +A Y +C Z +A Z +A Y +C Z +A Z +C Z +A Y +C Z +B Z +C Z +A Y +C Y +A Y +B Z +A Y +B Z +C Z +B X +C X +C Z +B Z +A Z +C Z +B X +C Y +C Z +C Y +A X +C X +C X +B Z +A Y +C Z +A Z +B Z +C Z +C X +C Z +C Z +C Z +C Z +C Z +B Z +B Z +C Z +C Z +C Z +C Z +C X +A Z +C Z +A Y +A Y +C Z +C Z +C Y +C Z +A Y +C Z +B Z +B X +A Z +A Y +A Y +C Z +A Y +C Z +A X +A Y +B X +C Z +C Z +A Z +C Z +A Y +B Z +A Y +C Z +C Z +B Z +C X +C Z +C Z +C Z +C Y +C Z +B X +C Z +C Z +B X +A Z +C Z +C X +C X +B Z +C Z +C Z +B Z +C Z +C Z +B Z +B Z +B Z +B Z +B Z +A Z +C X +C Y +C Z +A Y +C Z +B Z +A Y +C Z +C Z +B Z +B Z +C Z +A Z +A X +A Y +C Z +A Z +C Z +C X +B Z +C Z +A X +B Z +B X +C Z +C Z +C Z +B X +C Z +B Z +B Z +A Y +A Y +A Z +C Z +C Z +C Z +B Z +C Z +B Z +C Z +A Z +C Z +C X +C Z +C Z +C Z +B Z +A Y +C Y +C Z +C Z +C Z +C Z +B Z +C Y +C Z +A Z +C Y +C Z +B X +A Y +A Y +A X +B Z +B Z +C Z +A Y +B X +A Y +C X +C Z +A Y +C X +C Z +C Z +A Z +C X +C Z +C X +C Z +A Y +C Z +C Z +B Z +C Z +C Y +A Z +C X +C Y +C Z +C Z +C Y +B Z +B Z +C X +C Z +C Z +C Z +C Z +B Z +C Z +C Z +C Z +B Y +C Y +C Z +B Z +C Z +C Z +C Y +B Z +A Y +A Z +C Y +C Y +C Z +C X +C Z +A Z +C Z +C Z +A Y +A Z +C Z +A Z +C Z +B Z +B X +B Z +B Z +A Z +C Z +A Y +C Z +C Y +C Z +A Z +B Z +B Z +B Z +C Z +B Z +A Z +A Y +C Z +C Z +C Z +C Z +C Z +A Z +C Z +A Z +A X +B Z +A Y +C X +A Z +B X +B Y +A Y +B Z +A Z +B Z +B Z +C Z +A Z +B Z +B Z +A Y +C Y +C Y +A X +C Z +C Z +C Z +C X +C Z +C Z +C Z +C Z +B Z +A Y +C Z +C Z +C Z +A Z +C X +C Z +B Z +C Y +B X +B Y +C Z +C Z +A X +C Y +C X +B Z +B Z +C Z +B Z +C Y +C Y +C Y +C X +C Z +C Z +C Z +C X +A Y +C Z +C Z +B Z +A Z +C Z +A Y +B X +C Z +C X +C Z +A Z +B Z +A Y +C Z +C Z +C Z +A Z +C Z +C Z +C X +C Z +C Z +B Z +C Z +B Z +C X +C Z +A Y +A Y +C Z +C Z +B Z +C Z +C Z +C X +C Z +A Y +C Z +C Z +C Z +B Z +C Z +A Y + diff --git a/src/aoc2022/day02/mod.rs b/src/aoc2022/day02/mod.rs new file mode 100644 index 0000000..1b8ce15 --- /dev/null +++ b/src/aoc2022/day02/mod.rs @@ -0,0 +1,59 @@ +// Rock +// Paper +// Scissors + +pub fn task_one(input: &str) -> String { + let mut total_score = 0; + + for line in input.lines() { + let split = line.split_once(' '); + if split.is_some() { + let score = match split.unwrap() { + ("A", "X") => 4, + ("A", "Y") => 8, + ("A", "Z") => 3, + ("B", "X") => 1, + ("B", "Y") => 5, + ("B", "Z") => 9, + ("C", "X") => 7, + ("C", "Y") => 2, + ("C", "Z") => 6, + _ => panic!("Combination is not valid"), + }; + + total_score += score; + } + } + + total_score.to_string() +} + +// Loose +// Draw +// Win + +pub fn task_two(input: &str) -> String { + let mut total_score = 0; + + for line in input.lines() { + let split = line.split_once(' '); + if split.is_some() { + let score = match split.unwrap() { + ("A", "X") => 3, + ("A", "Y") => 4, + ("A", "Z") => 8, + ("B", "X") => 1, + ("B", "Y") => 5, + ("B", "Z") => 9, + ("C", "X") => 2, + ("C", "Y") => 6, + ("C", "Z") => 7, + _ => panic!("Combination is not valid"), + }; + + total_score += score; + } + } + + total_score.to_string() +} diff --git a/src/aoc2022/mod.rs b/src/aoc2022/mod.rs index 12b8f18..28326d5 100644 --- a/src/aoc2022/mod.rs +++ b/src/aoc2022/mod.rs @@ -1 +1,2 @@ pub mod day01; +pub mod day02; diff --git a/src/main.rs b/src/main.rs index 645c4d0..48d0a1c 100644 --- a/src/main.rs +++ b/src/main.rs @@ -39,4 +39,7 @@ fn main() { // AOC 2022 puzzle = Puzzle { day: 1, year: 2022, task_one: aoc2022::day01::task_one, task_two: aoc2022::day01::task_two }; puzzle.solve_and_print(); + + puzzle = Puzzle { day: 2, year: 2022, task_one: aoc2022::day02::task_one, task_two: aoc2022::day02::task_two }; + puzzle.solve_and_print(); }