50 lines
1.1 KiB
Python
50 lines
1.1 KiB
Python
# with open('./2021/06.test') as input_file:
|
|
with open('./2021/06.input') as input_file:
|
|
raw_input = input_file.read()
|
|
|
|
input_data = raw_input.split(",")
|
|
|
|
input_data = [int(x) for x in input_data]
|
|
|
|
# Using dicts
|
|
fish_dict = {0:0, 1:0, 2:0, 3:0, 4:0, 5:0, 6:0, 7:0, 8:0}
|
|
|
|
for one_input in input_data:
|
|
fish_dict[one_input] += 1
|
|
|
|
for i in range(0, 256):
|
|
for index in range(0, 9):
|
|
fish_dict[index - 1] = fish_dict[index]
|
|
fish_dict[6] += fish_dict[-1]
|
|
fish_dict[8] = fish_dict[-1]
|
|
fish_dict[-1] = 0
|
|
|
|
if i == 79:
|
|
output_sum = 0
|
|
for one_value in fish_dict.values():
|
|
output_sum += one_value
|
|
print(output_sum)
|
|
print(i, end='\r')
|
|
output_sum = 0
|
|
for one_value in fish_dict.values():
|
|
output_sum += one_value
|
|
print(output_sum)
|
|
|
|
|
|
# # Brute force method
|
|
# for i in range(0, 256):
|
|
# for index in range(len(input_data)):
|
|
# input_data[index] -= 1
|
|
|
|
# if input_data[index] < 0:
|
|
# input_data[index] = 6
|
|
# input_data.append(8)
|
|
# if i == 79:
|
|
# print(len(input_data))
|
|
# print(i, end='\r')
|
|
# print(len(input_data))
|
|
|
|
|
|
|
|
|