@@ -12,13 +12,13 @@ pub fn part_one(input: &str) -> Option<u32> {
12
12
// }
13
13
// }).sum();
14
14
15
-
16
15
for line in input. lines ( ) {
17
16
// println!("{}", line);
18
17
19
- let numbers: Vec < i32 > = line. split_whitespace ( ) . filter_map ( |item| {
20
- item. parse :: < i32 > ( ) . ok ( )
21
- } ) . collect ( ) ;
18
+ let numbers: Vec < i32 > = line
19
+ . split_whitespace ( )
20
+ . filter_map ( |item| item. parse :: < i32 > ( ) . ok ( ) )
21
+ . collect ( ) ;
22
22
23
23
if checking_level ( & numbers) {
24
24
safe_count += 1 ;
@@ -29,7 +29,7 @@ pub fn part_one(input: &str) -> Option<u32> {
29
29
Some ( safe_count as u32 )
30
30
}
31
31
32
- fn checking_level ( numbers : & Vec < i32 > ) -> bool {
32
+ fn checking_level ( numbers : & [ i32 ] ) -> bool {
33
33
let mut is_increasing = true ;
34
34
let mut is_decreasing = true ;
35
35
@@ -42,18 +42,12 @@ fn checking_level(numbers: &Vec<i32>) -> bool {
42
42
43
43
if !( 1 ..=3 ) . contains ( & diff) {
44
44
//unsafe
45
- return false
45
+ return false ;
46
46
}
47
47
48
- if curr < next {
49
- //decreasing
50
- is_decreasing = false ;
51
- } else if curr > next {
52
- //increas
53
- is_increasing= false ;
54
- } else {
55
- // nochagning
56
- return false ;
48
+ match curr < next {
49
+ true => is_decreasing = false ,
50
+ false => is_increasing = false ,
57
51
}
58
52
}
59
53
is_increasing || is_decreasing
@@ -65,9 +59,10 @@ pub fn part_two(input: &str) -> Option<u32> {
65
59
for line in input. lines ( ) {
66
60
// println!("{}", line);
67
61
68
- let numbers: Vec < i32 > = line. split_whitespace ( ) . map ( |item| {
69
- item. parse :: < i32 > ( ) . unwrap ( )
70
- } ) . collect ( ) ;
62
+ let numbers: Vec < i32 > = line
63
+ . split_whitespace ( )
64
+ . map ( |item| item. parse :: < i32 > ( ) . unwrap ( ) )
65
+ . collect ( ) ;
71
66
72
67
if checking_level ( & numbers) {
73
68
safe_count += 1 ;
@@ -77,7 +72,6 @@ pub fn part_two(input: &str) -> Option<u32> {
77
72
let mut cleaned_level = numbers. to_vec ( ) ;
78
73
cleaned_level. remove ( i) ;
79
74
80
-
81
75
if checking_level ( & cleaned_level) {
82
76
safe_count += 1 ;
83
77
break ;
0 commit comments