My solutions to 2018's advent of code
Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.
Este repositório está arquivado. Você pode visualizar os arquivos e realizar clone, mas não poderá realizar push nem abrir issues e pull requests.

02.py 637B

123456789101112131415161718192021222324252627
  1. import itertools
  2. import operator
  3. def count_dupes(box):
  4. return [any(box.count(x) == i for x in box) for i in (2, 3)]
  5. with open('data/02.txt', 'r') as file:
  6. boxes = list(map(str.strip, file.readlines()))
  7. print(operator.mul(*map(sum, zip(*map(count_dupes, boxes)))))
  8. for box1, box2 in itertools.combinations(boxes, 2):
  9. common = ''
  10. missed = 0
  11. for i, j in zip(box1, box2):
  12. if i == j:
  13. common += i
  14. else:
  15. missed += 1
  16. if missed > 1:
  17. break
  18. if missed == 1:
  19. print(common)
  20. break