File tree 1 file changed +29
-1
lines changed 1 file changed +29
-1
lines changed Original file line number Diff line number Diff line change 1
1
extern crate regex;
2
2
use regex:: Regex ;
3
3
4
+ #[ derive( Debug ) ]
5
+ struct Program {
6
+ id : u32 ,
7
+ connections : Vec < u32 > ,
8
+ }
9
+
4
10
fn main ( ) {
5
11
let re = Regex :: new ( r"(\d+) <-> (.+)" ) . unwrap ( ) ;
6
12
7
13
let lines: Vec < & str > = INPUT . split ( "\n " ) . filter ( |& s| s. len ( ) != 0 ) . collect ( ) ;
8
14
9
- println ! ( "{:?}" , lines) ;
15
+ let mut programs: Vec < Program > = Vec :: new ( ) ;
16
+
17
+ for datum in lines {
18
+ let capt = re. captures ( datum) . unwrap ( ) ;
19
+
20
+ let prog = Program {
21
+ id : capt. get ( 1 ) . unwrap ( ) . as_str ( ) . parse :: < u32 > ( ) . unwrap ( ) ,
22
+ connections : capt. get ( 2 )
23
+ . unwrap ( )
24
+ . as_str ( )
25
+ . split ( ", " )
26
+ . map ( |s| s. to_string ( ) . parse :: < u32 > ( ) . unwrap ( ) )
27
+ . collect ( ) ,
28
+ } ;
29
+
30
+ programs. push ( prog) ;
31
+ }
32
+
33
+ let programs = programs;
34
+
35
+ let mut groups: Vec < Vec < u32 > > = Vec :: new ( ) ;
36
+
37
+ println ! ( "{:#?}" , programs) ;
10
38
}
11
39
12
40
// --- Day 12: Digital Plumber ---
You can’t perform that action at this time.
0 commit comments