You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

50 lines
1.0 KiB

#!/usr/bin/env python3
import sys
from copy import deepcopy
def sim(lf, days):
nf = {}
for i in range(days):
for k,v in lf.items():
if k == 7:
nf[6] = (nf[6] + v) if 6 in nf else v
elif k == 6:
nf[5] = v
elif k == 0:
nf[8] = v
nf[6] = (nf[6] + v) if 6 in nf else v
else:
nf[k-1] = v
lf = deepcopy(nf)
nf = {}
return sum(lf.values())
if __name__ == '__main__':
lines = open(sys.argv[1]).read().strip('\n\n').split('\n') # or split \n\n or sth similar
nums = [int(i) for i in lines[0].split(",")]
lf1 = {}
lf1[6] = 0
lf1[7] = 0
lf1[8] = 0
for n in nums:
if n not in lf1:
lf1[n] = 1
else:
lf1[n] += 1
lf2 = deepcopy(lf1)
# challenge 1
res1 = str(sim(lf1, 80))
print("challenge 1:" +"\n" + res1 + "\n")
# challenge 2
res2 = str(sim(lf2, 256))
print("challenge 2:" +"\n" + res2 + "\n")