def deal_into_new_stack(self): self._deck.reverse() def cut_n(self, number): self._deck.rotate(-number) def deal_with_increment(self, increment): deck_size = len(self._deck) old_deck = list(self._deck) current = 0 for card in old_deck: self._deck[current] = card current += increment current %= deck_size def part1(input_list): deck = DeckOfSpaceCards(10007) deck.shuffle(input_list) return deck.find_card(2019) def part2(input_list): deck = DeckOfSpaceCards(119315717514047) deck.shuffle(input_list) return deck.get_card(2020) if __name__ == "__main__": aoc.main(part1, part2)
#!/usr/bin/env python3 import aoc aoc.main()