@@ -8,7 +8,7 @@ def combine_joltages(list_of_joltages):
88 return int ("" .join ([str (x ) for x in list_of_joltages ]))
99
1010
11- def calculate_largest_joltage (battery_bank_as_ints ):
11+ def calculate_largest_joltage (battery_bank_as_ints , n_batteries ):
1212 largest_joltage_1 = 0
1313
1414 for battery_index , battery_value in enumerate (battery_bank_as_ints ):
@@ -22,31 +22,19 @@ def calculate_largest_joltage(battery_bank_as_ints):
2222 return combine_joltages ([largest_joltage_1 , largest_joltage_2 ])
2323
2424
25- def calculate_largest_joltage_part_2 (battery_bank_as_ints , n_batteries = 12 ):
26- sorted_batteries = sorted (battery_bank_as_ints , reverse = True )
27- return combine_joltages (sorted_batteries [:n_batteries ])
28-
29-
30- def solve_part (input , part = 1 ):
25+ def solve_part (input , n_batteries ):
3126 joltage_list = []
3227
33- if part == 1 :
34- calculate_largest_joltage_function = calculate_largest_joltage
35- elif part == 2 :
36- calculate_largest_joltage_function = calculate_largest_joltage_part_2
37- else :
38- raise ValueError ("Part must be 1 or 2" )
39-
4028 for battery_bank_str in input :
4129 battery_bank_as_ints = parse_battery_bank_to_ints_list (battery_bank_str )
42- largest_joltage = calculate_largest_joltage_function (battery_bank_as_ints )
30+ largest_joltage = calculate_largest_joltage (battery_bank_as_ints , n_batteries )
4331 joltage_list .append (largest_joltage )
4432
4533 return sum (joltage_list )
4634
4735def solve (input ):
48- part_1_solution = solve_part (input , part = 1 )
49- part_2_solution = solve_part (input , part = 2 )
36+ part_1_solution = solve_part (input , n_batteries = 2 )
37+ part_2_solution = solve_part (input , n_batteries = 12 )
5038 return (part_1_solution , part_2_solution )
5139
5240
0 commit comments