@@ -61,22 +61,22 @@ func Day03Of2022PartB(rucksacks []string) (int, error) {
61
61
sort .Slice (strings .Split (itemsC , "" ), func (i , j int ) bool {
62
62
return strings .Split (itemsC , "" )[i ] < strings .Split (itemsC , "" )[j ]
63
63
})
64
- longest , second , third := longestArrays ( itemsA , itemsB , itemsC )
65
- for _ , item := range longest {
66
- if search (strings . Split ( second , "" ), string ( item )) && search (strings . Split ( third , "" ), string ( item ) ) {
67
- priorities += charToNumber (item )
64
+ shortest , second , third := shortest ( strings . Split ( itemsA , "" ), strings . Split ( itemsB , "" ), strings . Split ( itemsC , "" ) )
65
+ for _ , item := range shortest {
66
+ if search (second , item ) && search (third , item ) {
67
+ priorities += charToNumber ([] rune ( item )[ 0 ] )
68
68
break
69
69
}
70
70
}
71
71
}
72
72
return priorities , nil
73
73
}
74
74
75
- func longestArrays (arr1 , arr2 , arr3 string ) (string , string , string ) {
76
- if len (arr1 ) > = len (arr2 ) && len (arr1 ) > = len (arr3 ) {
75
+ func shortest (arr1 , arr2 , arr3 [] string ) ([] string , [] string , [] string ) {
76
+ if len (arr1 ) < = len (arr2 ) && len (arr1 ) < = len (arr3 ) {
77
77
return arr1 , arr2 , arr3
78
78
}
79
- if len (arr2 ) > = len (arr1 ) && len (arr2 ) > = len (arr3 ) {
79
+ if len (arr2 ) < = len (arr1 ) && len (arr2 ) < = len (arr3 ) {
80
80
return arr2 , arr1 , arr3
81
81
}
82
82
return arr3 , arr1 , arr2
0 commit comments