From 932a7b1ee7b5f899ca9ec35424f788f7e8bacfee Mon Sep 17 00:00:00 2001 From: Akumatic Date: Fri, 4 Dec 2020 18:56:55 +0100 Subject: [PATCH] day 04 small changes for part 2 --- 2020/04/code.py | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/2020/04/code.py b/2020/04/code.py index 11d4486..7f883e1 100644 --- a/2020/04/code.py +++ b/2020/04/code.py @@ -15,21 +15,21 @@ def readFile() -> list: def assert_fields(data: dict) -> bool: return all((k in data for k in ("byr", "iyr", "eyr", "hgt", "hcl", "ecl", "pid"))) -def part1(vals: list) -> tuple: +def part1(vals: list) -> int: return len(vals) def part2(vals: list) -> int: patterns = { - "byr": "^19[2-9][0-9]|200[0-2]$", - "iyr": "^20(1[0-9]|20)$", - "eyr": "^20(2[0-9]|30)$", - "hgt": "^1([5-8][0-9]|9[0-3])cm|(59|6[0-9]|7[0-6])in$", - "hcl": "^#[0-9a-f]{6}$", - "ecl": "^(amb|blu|brn|gry|grn|hzl|oth)$", - "pid": "^[0-9]{9}$", + "byr": "19[2-9][0-9]|200[0-2]", + "iyr": "20(1[0-9]|20)", + "eyr": "20(2[0-9]|30)", + "hgt": "1([5-8][0-9]|9[0-3])cm|(59|6[0-9]|7[0-6])in", + "hcl": "#[0-9a-f]{6}", + "ecl": "amb|blu|brn|gry|grn|hzl|oth", + "pid": "[0-9]{9}", "cid": ".*" } - return sum([all([bool(re.match(patterns[v], val[v])) for v in val]) for val in vals]) + return sum((all((re.fullmatch(patterns[v], val[v]) for v in val)) for val in vals)) if __name__ == "__main__": vals = readFile()