diff --git a/challenges/2024/07-bridgeRepair/main.py b/challenges/2024/07-bridgeRepair/main.py index 2be6431..0b13676 100644 --- a/challenges/2024/07-bridgeRepair/main.py +++ b/challenges/2024/07-bridgeRepair/main.py @@ -1,5 +1,5 @@ import sys -import itertools +from functools import reduce from typing import Iterable import math @@ -47,17 +47,19 @@ def solve(target: int, ns: list[int], use_concat: bool = False) -> bool: def one(instr: str): cases = parse(instr) - return itertools.accumulate( - target if solve(target, numbers, use_concat=False) else 0 - for (target, numbers) in cases + return reduce( + lambda x, y: x + y, + (target if solve(target, numbers, use_concat=False) else 0 for (target, numbers) in cases), + 0 ) def two(instr: str): cases = parse(instr) - return itertools.accumulate( - target if solve(target, numbers, use_concat=True) else 0 - for (target, numbers) in cases + return reduce( + lambda x, y: x + y, + (target if solve(target, numbers, use_concat=True) else 0 for (target, numbers) in cases), + 0 ) diff --git a/challenges/2024/benchmark-graph.png b/challenges/2024/benchmark-graph.png index 5c06d8d..be12f4a 100644 Binary files a/challenges/2024/benchmark-graph.png and b/challenges/2024/benchmark-graph.png differ diff --git a/challenges/2024/benchmarks.jsonl b/challenges/2024/benchmarks.jsonl index 308361c..d54d779 100644 --- a/challenges/2024/benchmarks.jsonl +++ b/challenges/2024/benchmarks.jsonl @@ -10,7 +10,5 @@ {"day": 5, "part": 2, "runner": "py", "min": 0.02507805824279785, "max": 0.03197765350341797, "avg": 0.027084295749664308, "n": 100} {"day": 6, "part": 1, "runner": "py", "min": 0.05790352821350098, "max": 0.06762170791625977, "avg": 0.061776439348856606, "n": 6} {"day": 6, "part": 2, "runner": "py", "min": 15.881408452987671, "max": 17.086341857910156, "avg": 16.64130985736847, "n": 6} -{"day": 7, "part": 1, "runner": "py", "min": 0.26709485054016113, "max": 0.28178858757019043, "avg": 0.2754525661468506, "n": 5} -{"day": 7, "part": 2, "runner": "py", "min": 23.23872661590576, "max": 24.87530255317688, "avg": 23.880544805526732, "n": 5} -{"day": 7, "part": 1, "runner": "py", "min": 0.02138209342956543, "max": 0.04097461700439453, "avg": 0.023260540962219238, "n": 100} -{"day": 7, "part": 2, "runner": "py", "min": 0.021509647369384766, "max": 0.027263402938842773, "avg": 0.022869422435760497, "n": 100} +{"day": 7, "part": 1, "runner": "py", "min": 0.025098562240600586, "max": 0.04218649864196777, "avg": 0.027579346656799317, "n": 500} +{"day": 7, "part": 2, "runner": "py", "min": 0.03137779235839844, "max": 0.04896378517150879, "avg": 0.03503713369369507, "n": 500}