| 
					
				 | 
			
			
				@@ -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)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 |