#! /usr/bin/python3fichier='input_day_3'defpriority(c):return26*c.isupper()+(ord(c)&31)items_p=badges_p=grp_size=0badges_set=set()withopen(fichier,'r')asf:whileline:=f.readline().strip():# part 1l=len(line)//2items_p+=sum(priority(c)forcin{*line[:l]}&{*line[l:]})# part 2ifnotbadges_set:badges_set={*line}else:badges_set&={*line}grp_size+=1ifgrp_size%3==0:badges_p+=priority(badges_set.pop())print(items_p,badges_p)
# Python pas classieux mais avec des set
Posté par Pierre . En réponse au message Avent du Code, jour 3. Évalué à 3.