Refactor to remove duplicate and pointless code
This commit is contained in:
parent
a4835f609e
commit
0e233c02cc
3 changed files with 11 additions and 21 deletions
|
@ -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):
|
||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 44 KiB After Width: | Height: | Size: 46 KiB |
|
@ -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}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue