master
Dece 4 years ago
parent 521cef0e58
commit 2d5d8e10af

@ -0,0 +1,37 @@
EX1 = [
"cut 6",
"deal with increment 7",
"deal into new stack",
]
def main():
with open("day22.txt") as input_file:
lines = [l.rstrip() for l in input_file.readlines()]
deck = list(range(10007))
for line in lines:
# Deal into new stack.
if line.endswith("k"):
deck.reverse()
continue
arg = int(line[line.rfind(" "):])
# Deal with increment.
if line[0] == "d":
new_deck = [None] * len(deck)
for i in range(len(deck)):
new_deck[(i * arg) % len(new_deck)] = deck[i]
deck = new_deck
# Cut.
elif line[0] == "c":
cut, deck = deck[:arg], deck[arg:]
deck += cut
print(f"Position of card 2019: {deck.index(2019)}.")
if __name__ == "__main__":
main()
Loading…
Cancel
Save