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
|
import sys
|
||||||
from functools import reduce
|
|
||||||
from typing import Iterable
|
|
||||||
import math
|
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)
|
return solve(target - v, rest, use_concat)
|
||||||
|
|
||||||
|
|
||||||
def one(instr: str):
|
def do(instr: str, use_concat: bool = False) -> int:
|
||||||
cases = parse(instr)
|
cases = parse(instr)
|
||||||
return reduce(
|
return sum(
|
||||||
lambda x, y: x + y,
|
target if solve(target, numbers, use_concat) else 0
|
||||||
(
|
for (target, numbers) in cases
|
||||||
target if solve(target, numbers, use_concat=False) else 0
|
|
||||||
for (target, numbers) in cases
|
|
||||||
),
|
|
||||||
0,
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def one(instr: str):
|
||||||
|
return do(instr)
|
||||||
|
|
||||||
|
|
||||||
def two(instr: str):
|
def two(instr: str):
|
||||||
cases = parse(instr)
|
return do(instr, use_concat=True)
|
||||||
return reduce(
|
|
||||||
lambda x, y: x + y,
|
|
||||||
(
|
|
||||||
target if solve(target, numbers, use_concat=True) else 0
|
|
||||||
for (target, numbers) in cases
|
|
||||||
),
|
|
||||||
0,
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def _debug(*args, **kwargs):
|
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": 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": 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": 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": 1, "runner": "py", "min": 0.020526885986328125, "max": 0.07849740982055664, "avg": 0.022122257232666014, "n": 500}
|
||||||
{"day": 7, "part": 2, "runner": "py", "min": 0.03137779235839844, "max": 0.04896378517150879, "avg": 0.03503713369369507, "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": 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}
|
{"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