summaryrefslogtreecommitdiffstats
path: root/20/py/aoc20.py
diff options
context:
space:
mode:
Diffstat (limited to '20/py/aoc20.py')
-rw-r--r--20/py/aoc20.py43
1 files changed, 43 insertions, 0 deletions
diff --git a/20/py/aoc20.py b/20/py/aoc20.py
new file mode 100644
index 0000000..3bd8994
--- /dev/null
+++ b/20/py/aoc20.py
@@ -0,0 +1,43 @@
+#!/usr/bin/env python3
+import sys
+import time
+
+
+def read_input(args, day):
+ if len(args) > 0:
+ if args[0] == "-":
+ return sys.stdin.readlines()
+ else:
+ return open(args[0]).readlines()
+ else:
+ return open(f"../input/{day:02}", "r").readlines()
+
+
+if __name__ == "__main__":
+ import d01
+ import d02
+ import d03
+ import d04
+ import d05
+ import d06
+ import d07
+ import d08
+ import d09
+
+ print("day part | time | tot_time | ans")
+ print("---------+--------+----------+-----------")
+
+ time_to_here = 0
+ for day, mod in enumerate((d01, d02, d03, d04, d05,
+ d06, d07, d08, d09)):
+ input = open(f"../input/{day+1:02}").readlines()
+ for part, part_func in enumerate((mod.pt1, mod.pt2)):
+ times = []
+ for i in range(100 if "time" in sys.argv else 5):
+ start = time.time()
+ ans = part_func(input)
+ ans_time = time.time()
+ times.append(ans_time-start)
+ avg_time = sum(times) / len(times)
+ time_to_here += avg_time
+ print(f"{day+1:02} {part+1} | {avg_time*1000:6.3f} | {time_to_here*1000:6.3f} | {ans}")