diff options
Diffstat (limited to 'src/04/part1')
| -rw-r--r-- | src/04/part1 | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/src/04/part1 b/src/04/part1 new file mode 100644 index 0000000..2ef2dca --- /dev/null +++ b/src/04/part1 @@ -0,0 +1,47 @@ +--- Day 4: Passport Processing --- + +You arrive at the airport only to realize that you grabbed your North Pole Credentials instead of +your passport. While these documents are extremely similar, North Pole Credentials aren't issued by +a country and therefore aren't actually valid documentation for travel in most of the world. + +It seems like you're not the only one having problems, though; a very long line has formed for the +automatic passport scanners, and the delay could upset your travel itinerary. + +Due to some questionable network security, you realize you might be able to solve both of these +problems at the same time. + +The automatic passport scanners are slow because they're having trouble [1m[37mdetecting which +passports have all required fields[0m. The expected fields are as follows: + +- byr (Birth Year) - iyr (Issue Year) - eyr (Expiration Year) - hgt (Height) - hcl (Hair Color) - +ecl (Eye Color) - pid (Passport ID) - cid (Country ID) + +Passport data is validated in batch files (your puzzle input). Each passport is represented as a +sequence of key:value pairs separated by spaces or newlines. Passports are separated by blank lines. + +Here is an example batch file containing four passports: + +ecl:gry pid:860033327 eyr:2020 hcl:#fffffd byr:1937 iyr:2017 cid:147 hgt:183cm + +iyr:2013 ecl:amb cid:350 eyr:2023 pid:028048884 hcl:#cfa07d byr:1929 + +hcl:#ae17e1 iyr:2013 eyr:2024 ecl:brn pid:760753108 byr:1931 hgt:179cm + +hcl:#cfa07d eyr:2025 pid:166559648 iyr:2011 ecl:brn hgt:59in + +The first passport is [1m[37mvalid[0m - all eight fields are present. The second passport is +[1m[37minvalid[0m - it is missing hgt (the Height field). + +The third passport is interesting; the [1m[37monly missing field[0m is cid, so it looks like data +from North Pole Credentials, not a passport at all! Surely, nobody would mind if you made the system +temporarily ignore missing cid fields. Treat this "passport" as [1m[37mvalid[0m. + +The fourth passport is missing two fields, cid and byr. Missing cid is fine, but missing any other +field is not, so this passport is [1m[37minvalid[0m. + +According to the above rules, your improved system would report [1m[37m2[0m valid passports. + +Count the number of [1m[37mvalid[0m passports - those that have all required fields. Treat cid as +optional. [1m[37mIn your batch file, how many passports are valid?[0m + + |
