Import from Nextcloud
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
import re
|
||||
|
||||
with open('04-input') as f:
|
||||
text = f.read()
|
||||
|
||||
while '\n\n\n' in text:
|
||||
text = text.replace('\n\n\n', '\n\n')
|
||||
passports = text.split('\n\n')
|
||||
passports = [dict(kv.split(':') for kv in p.replace('\n\n', ' ').split()) for p in passports]
|
||||
valid = { 'byr', 'iyr', 'eyr', 'hgt', 'hcl', 'ecl', 'pid', }
|
||||
print(sum(1 for p in passports if valid.issubset(p.keys())))
|
||||
|
||||
from functools import partial
|
||||
def int_val(least, most, n):
|
||||
return least<=n<=most
|
||||
v_byr = partial(int_val, 1920, 2002)
|
||||
v_iyr = partial(int_val, 2010, 2020)
|
||||
v_eyr = partial(int_val, 2020, 2030)
|
||||
v_cm = partial(int_val, 150, 193)
|
||||
v_in = partial(int_val, 59, 76)
|
||||
|
||||
def is_valid(passport):
|
||||
valid.issubset(p.keys())
|
||||
Reference in New Issue
Block a user