Day 6, part 2 efficient in time

This commit is contained in:
Maya Herrscher committed 2023-12-06 08:57:12 +01:00
1 parent 9a176b9d42
commit 0b66c3c2af
3 files changed
+102

No files matched your search

+32
View File
@@ -0,0 +1,32 @@
#!/usr/bin/env python3
import sys, re
if __name__ == '__main__':
lines = [line.strip('\n') for line in open(sys.argv[1])]
times = [int(n) for n in re.findall(r'\d+', lines[0])]
records = [int(n) for n in re.findall(r'\d+', lines[1])]
# challenge 1
res1 = 1
for i in range(len(times)):
count = 0
for t in range(times[i]):
if t * (times[i] - t) > records[i]: count += 1
res1 *= count
res1 = str(res1)
print(f"challenge 1:\n{res1}\n")
# challenge 2
time = int(''.join([str(i) for i in times]))
record = int(''.join([str(i) for i in records]))
res2 = 0
for t in range(time):
if t * (time - t) > record:
mint = t
break
res2 = str(time - 2 * mint + 1)
print(f"challenge 2:\n{res2}\n")