File tree 2 files changed +20
-3
lines changed
2 files changed +20
-3
lines changed Original file line number Diff line number Diff line change @@ -17,6 +17,10 @@ const parseCalorieData = (data) => {
17
17
}
18
18
19
19
const findElfWithMost = ( data ) => {
20
+ return sortElvesByCalories ( data ) [ 0 ] // Sort for the elf with the most calories
21
+ }
22
+
23
+ const sortElvesByCalories = ( data ) => {
20
24
const sum = ( a , b ) => { return a + b }
21
25
const compare = ( a , b ) => {
22
26
// compare sums of array values for sum-based sorting
@@ -27,10 +31,11 @@ const findElfWithMost = (data) => {
27
31
)
28
32
}
29
33
data . sort ( compare )
30
- return data [ 0 ] // Sort for the elf with the most calories
34
+ return data
31
35
}
32
36
33
37
module . exports = {
34
38
findElfWithMost,
35
- parseCalorieData
39
+ parseCalorieData,
40
+ sortElvesByCalories
36
41
}
Original file line number Diff line number Diff line change 1
1
/* eslint-env mocha */
2
2
const { expect } = require ( 'chai' )
3
- const { findElfWithMost, parseCalorieData } = require ( './calories' )
3
+ const { findElfWithMost, parseCalorieData, sortElvesByCalories } = require ( './calories' )
4
4
5
5
const calorieData = `1000
6
6
2000
@@ -39,5 +39,17 @@ describe('--- Day 1: Calorie Counting ---', () => {
39
39
. to . equal ( 24000 )
40
40
} )
41
41
} )
42
+ describe ( 'sortElvesByCalories()' , ( ) => {
43
+ it ( 'Sorts the list of elves by calories carried, maximum first' , ( ) => {
44
+ expect ( sortElvesByCalories ( parsedCalorieData ) )
45
+ . to . deep . equal ( [
46
+ [ 7000 , 8000 , 9000 ] ,
47
+ [ 5000 , 6000 ] ,
48
+ [ 10000 ] ,
49
+ [ 1000 , 2000 , 3000 ] ,
50
+ [ 4000 ]
51
+ ] )
52
+ } )
53
+ } )
42
54
} )
43
55
} )
You can’t perform that action at this time.
0 commit comments