day 04 small changes for part 2
This commit is contained in:
parent
33f7c0100c
commit
932a7b1ee7
@ -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()
|
||||
|
Loading…
x
Reference in New Issue
Block a user