Connectez-vous pour obtenir votre relevé et valider vos réponses.
Jour 04 : Traitement de Profils
Après t'être trouvé une place au cluster, tu redescends chercher un café. Mais au moment de repasser les portiques de sécurité de 42, c'est le drame : la badgeuse a planté suite à une mise à jour d'un script par Le Bocal.
Au lieu de valider les badges normalement, la machine recrache les logs bruts des profils étudiants sur l'écran. La file d'attente s'allonge et tu vas devoir écrire un script pour filtrer qui a le droit d'entrer.
Les données de chaque profil sont représentées par une suite de paires clé:valeur séparées par des espaces ou des retours à la ligne. Les profils sont séparés par une ligne vide.
Un profil valide doit contenir les champs suivants :
byr(Birth Year) — Année de naissanceiyr(Inception Year) — Année d'entrée à 42eyr(Expiration Year) — Date d'absorption par le Black Holehgt(Height) — Taille de l'étudianthcl(Hair Color) — Couleur des cheveuxecl(Eye Color) — Couleur des yeuxpid(Profile ID) — Numéro de badgecid(Campus ID) — Identifiant du campus (optionnel)
Partie 1
Le Bocal t'informe que le système rejette par erreur les étudiants venant d'autres campus en visite. Pour éviter une émeute devant l'école, la règle de contournement est la suivante : le champ cid est optionnel. Tous les autres champs sont stricts et obligatoires.
Exemple
Tu récupères un échantillon de logs à la volée :
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:59inDans cet exemple, le premier profil est valide (les 8 champs sont présents). Le deuxième est invalide (il manque hgt). Le troisième est valide (il manque cid mais c'est autorisé). Le quatrième est invalide (il manque byr).
Sur cet échantillon, il y a donc 2 profils valides.
On te passe la clé USB contenant le fichier de logs complet. Combien de profils sont valides ?