Ver Fonte

day2 + testinput day1

niels há 2 anos atrás
pai
commit
09fc172213
3 ficheiros alterados com 62 adições e 0 exclusões
  1. 43 0
      src/bin/day2.rs
  2. 15 0
      test_inputs/day1.txt
  3. 4 0
      test_inputs/day2.txt

+ 43 - 0
src/bin/day2.rs

@@ -0,0 +1,43 @@
+use aoc2022_niels_overkamp::common::{self, AOCResult};
+
+const DAY: &str = "day2";
+
+fn main() -> Result<(), Box<dyn std::error::Error>> {
+    common::run(DAY, &run)
+}
+
+pub fn run(input: &Vec<String>) -> AOCResult {
+    let score1: u64 = input.iter().map(|line| match line.as_str() {
+            "A X" => 3 + 1,
+            "A Y" => 6 + 2,
+            "A Z" => 0 + 3,
+            "B X" => 0 + 1,
+            "B Y" => 3 + 2,
+            "B Z" => 6 + 3,
+            "C X" => 6 + 1,
+            "C Y" => 0 + 2,
+        "C Z" => 3 + 3,
+        _ => 0
+        }).sum();
+
+    let score2: u64 = input.iter().map(|line| match line.as_str() {
+            "A X" => 0 + 3,
+            "A Y" => 3 + 1,
+            "A Z" => 6 + 2,
+            "B X" => 0 + 1,
+            "B Y" => 3 + 2,
+            "B Z" => 6 + 3,
+            "C X" => 0 + 2,
+            "C Y" => 3 + 3,
+        "C Z" => 6 + 1,
+        _ => 0
+        }).sum();
+
+
+    Ok([Some(score1.to_string()), Some(score2.to_string())])
+}
+
+#[test]
+pub fn test_day2() {
+    assert!(common::run_test(DAY, &run))
+}

+ 15 - 0
test_inputs/day1.txt

@@ -0,0 +1,15 @@
+1000
+2000
+3000
+
+4000
+
+5000
+6000
+
+7000
+8000
+9000
+
+10000
+24000$45000

+ 4 - 0
test_inputs/day2.txt

@@ -0,0 +1,4 @@
+A Y
+B X
+C Z
+15$12