File tree Expand file tree Collapse file tree 1 file changed +11
-2
lines changed Expand file tree Collapse file tree 1 file changed +11
-2
lines changed Original file line number Diff line number Diff line change @@ -33,17 +33,26 @@ impl Day01 {
33
33
let mut sorted_second_list: Vec < i64 > = self . second_list . clone ( ) ;
34
34
sorted_first_list. sort ( ) ;
35
35
sorted_second_list. sort ( ) ;
36
+
36
37
let mut result: i64 = 0 ;
37
38
let len = sorted_first_list. len ( ) ;
39
+
38
40
for i in 0 ..len {
39
41
let distance: i64 = sorted_first_list[ i] - sorted_second_list[ i] ;
40
42
result += distance. abs ( ) ;
41
43
}
44
+
42
45
result
43
46
}
44
47
45
48
pub fn part2 ( & self ) -> i64 {
46
- 23
49
+ let mut result = 0 ;
50
+
51
+ for item in self . first_list . iter ( ) {
52
+ let count = self . second_list . iter ( ) . filter ( |& n| * n == * item) . count ( ) ;
53
+ result += ( count as i64 ) * item;
54
+ }
55
+ result
47
56
}
48
57
}
49
58
@@ -60,6 +69,6 @@ mod tests {
60
69
#[ test]
61
70
fn result_part2 ( ) {
62
71
let day01: Day01 = Day01 :: new ( String :: from ( "input_examples" ) ) ;
63
- assert_eq ! ( day01. part2( ) , 23 ) ;
72
+ assert_eq ! ( day01. part2( ) , 31 ) ;
64
73
}
65
74
}
You can’t perform that action at this time.
0 commit comments