Phil 2 سال پیش
والد
کامیت
f3bd039971
1فایلهای تغییر یافته به همراه36 افزوده شده و 5 حذف شده
  1. 36 5
      aoc03/src/main.rs

+ 36 - 5
aoc03/src/main.rs

@@ -9,25 +9,56 @@ fn main() {
     let file = File::open(filename).unwrap();
     let reader = BufReader::new(file);
     let mut sum: u32 = 0;
+    let mut sum2: u32 = 0;
+    let mut cnt: u32 = 0;
+    let mut first_line = String::new();
+    let mut list = Vec::new();
     for(index,line) in reader.lines().enumerate(){
+        cnt += 1;
         let line = line.unwrap();
         let length = line.len();
         let part_one = line.substring(0,length/2);
         let part_two = line.substring(length/2,length);
-        println!("{part_one}");
-        println!("{part_two}");
         for c in part_one.chars(){
             let pos = part_two.find(c);
             if pos != None{
                 let prio = give_prio(c);
                 sum += prio;
-                println!("{c}");
-                println!("{prio}");
                 break;
             }
         }
+       
+        match cnt {
+            1 => {
+                first_line = line.clone();
+            },
+            2 => {
+                println!("first: {first_line}");
+                println!("second: {line}");
+                for c in line.chars(){
+                    if first_line.find(c) != None{
+                        //println!("in both {c}");
+                        list.push(c);
+                    }
+                }
+            }, 
+            3 => {
+                for c in &list{
+                    println!("third: {line}");
+                    if line.find(*c) != None{
+                        sum2 += give_prio(*c);
+                        println!("in all 3: {c}");
+                        break;
+                    }
+                }
+                cnt = 0;
+                list = Vec::new();
+            },
+            _ => println!("that counter should not be anything other than 1-3")
+        }
     }
-    println!("Sum part1: {sum}")
+    println!("Sum part1: {sum}");
+    println!("Sum part2: {sum2}");
 }