From 765f74e7655759c7ea53e4d22567da94c122bb18 Mon Sep 17 00:00:00 2001 From: Stefan Harmuth Date: Tue, 14 Dec 2021 09:38:06 +0100 Subject: [PATCH] day14: code shortening (*params are cool :) --- day14.py | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/day14.py b/day14.py index e413efb..328c8d3 100644 --- a/day14.py +++ b/day14.py @@ -20,7 +20,7 @@ def getInitialDicts(puzzle: List[str]) -> (Dict[str, int], Dict[str, int], Dict[ return pairs, charcount, inserts -def insert(pairs: Dict[str, int], charcount: Dict[str, int], inserts: Dict[str, str], count: int): +def insert(count: int, pairs: Dict[str, int], charcount: Dict[str, int], inserts: Dict[str, str]) -> int: for _ in range(count): new_pairs = {} for p in pairs: @@ -31,17 +31,15 @@ def insert(pairs: Dict[str, int], charcount: Dict[str, int], inserts: Dict[str, new_pairs[p2] = new_pairs.get(p2, 0) + pairs[p] pairs = new_pairs + return max(charcount.values()) - min(charcount.values()) + class Day(AOCDay): test_solutions_p1 = [1588, 3230] test_solutions_p2 = [2188189693529, 3542388214529] def part1(self) -> Any: - pairs, charcount, inserts = getInitialDicts(self.getInput()) - insert(pairs, charcount, inserts, 10) - return max(charcount.values()) - min(charcount.values()) + return insert(10, *getInitialDicts(self.getInput())) def part2(self) -> Any: - pairs, charcount, inserts = getInitialDicts(self.getInput()) - insert(pairs, charcount, inserts, 40) - return max(charcount.values()) - min(charcount.values()) + return insert(40, *getInitialDicts(self.getInput()))