My solutions to 2018's advent of code
Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.
Tento repozitář je archivovaný. Můžete prohlížet soubory, klonovat, ale nemůžete nahrávat a vytvářet nové úkoly a požadavky na natažení.

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