diff --git a/challenges/2024/07-bridgeRepair/main.py b/challenges/2024/07-bridgeRepair/main.py index bd7ba9f..f1e9881 100644 --- a/challenges/2024/07-bridgeRepair/main.py +++ b/challenges/2024/07-bridgeRepair/main.py @@ -1,6 +1,4 @@ import sys -from functools import reduce -from typing import Iterable import math @@ -45,28 +43,20 @@ def solve(target: int, ns: list[int], use_concat: bool = False) -> bool: return solve(target - v, rest, use_concat) -def one(instr: str): +def do(instr: str, use_concat: bool = False) -> int: cases = parse(instr) - return reduce( - lambda x, y: x + y, - ( - target if solve(target, numbers, use_concat=False) else 0 - for (target, numbers) in cases - ), - 0, + return sum( + target if solve(target, numbers, use_concat) else 0 + for (target, numbers) in cases ) +def one(instr: str): + return do(instr) + + def two(instr: str): - cases = parse(instr) - return reduce( - lambda x, y: x + y, - ( - target if solve(target, numbers, use_concat=True) else 0 - for (target, numbers) in cases - ), - 0, - ) + return do(instr, use_concat=True) def _debug(*args, **kwargs): diff --git a/challenges/2024/benchmark-graph.png b/challenges/2024/benchmark-graph.png index aded0dd..0ffd571 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 af991e8..69ae1bc 100644 --- a/challenges/2024/benchmarks.jsonl +++ b/challenges/2024/benchmarks.jsonl @@ -10,7 +10,7 @@ {"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.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} +{"day": 7, "part": 1, "runner": "py", "min": 0.020526885986328125, "max": 0.07849740982055664, "avg": 0.022122257232666014, "n": 500} +{"day": 7, "part": 2, "runner": "py", "min": 0.02680826187133789, "max": 0.04485297203063965, "avg": 0.029925800323486327, "n": 500} {"day": 8, "part": 1, "runner": "py", "min": 0.025803089141845703, "max": 0.036757469177246094, "avg": 0.02743640899658203, "n": 200} {"day": 8, "part": 2, "runner": "py", "min": 0.027710437774658203, "max": 0.035851240158081055, "avg": 0.029560294151306152, "n": 200}