Files
advent_of_code/2023/6/part 1 solution.py
T
2023-12-17 17:37:01 +00:00

35 lines
1.2 KiB
Python

with open(r'advent_of_code\2023\6\input.txt', 'r') as file:
input = file.readlines()
with open(r'advent_of_code\2023\6\test_input.txt', 'r') as file:
test_input = file.readlines()
#input = test_input
times_string = input[0].replace('Time:', '').split()
times = [int(time) for time in times_string if time]
distances_string = input[1].replace('Distance:', '').split()
distances = [int(distance) for distance in distances_string if distance]
time_and_distance = zip(times, distances)
def calculate_distances(race_time):
max_distances = []
for button_hold_time in range(race_time + 1):
travel_time = race_time - button_hold_time
distance_travelled = button_hold_time * travel_time
max_distances.append(distance_travelled)
return max_distances
count_valid_distances = []
for time, distance in time_and_distance:
max_distances = calculate_distances(time)
valid_distances = [max_distance for max_distance in max_distances if max_distance > distance]
count_valid_distances.append(len(valid_distances))
#multiply the count of valid distances together
print(count_valid_distances)
result = 1
for num in count_valid_distances:
result *= num
print(result)