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:
|
def assert_fields(data: dict) -> bool:
|
||||||
return all((k in data for k in ("byr", "iyr", "eyr", "hgt", "hcl", "ecl", "pid")))
|
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)
|
return len(vals)
|
||||||
|
|
||||||
def part2(vals: list) -> int:
|
def part2(vals: list) -> int:
|
||||||
patterns = {
|
patterns = {
|
||||||
"byr": "^19[2-9][0-9]|200[0-2]$",
|
"byr": "19[2-9][0-9]|200[0-2]",
|
||||||
"iyr": "^20(1[0-9]|20)$",
|
"iyr": "20(1[0-9]|20)",
|
||||||
"eyr": "^20(2[0-9]|30)$",
|
"eyr": "20(2[0-9]|30)",
|
||||||
"hgt": "^1([5-8][0-9]|9[0-3])cm|(59|6[0-9]|7[0-6])in$",
|
"hgt": "1([5-8][0-9]|9[0-3])cm|(59|6[0-9]|7[0-6])in",
|
||||||
"hcl": "^#[0-9a-f]{6}$",
|
"hcl": "#[0-9a-f]{6}",
|
||||||
"ecl": "^(amb|blu|brn|gry|grn|hzl|oth)$",
|
"ecl": "amb|blu|brn|gry|grn|hzl|oth",
|
||||||
"pid": "^[0-9]{9}$",
|
"pid": "[0-9]{9}",
|
||||||
"cid": ".*"
|
"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__":
|
if __name__ == "__main__":
|
||||||
vals = readFile()
|
vals = readFile()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user