My solutions to 2018's advent of code
Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.
Repozitorijs ir arhivēts. Tam var aplūkot failus un to var klonēt, bet nevar iesūtīt jaunas izmaiņas, kā arī atvērt jaunas problēmas/izmaiņu pieprasījumus.

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