Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from copy import deepcopy
- import re
- inputFile = open('day5.txt', 'r')
- stack, moves = inputFile.read().split("\n\n")
- stks = [[] for _ in range(10)]
- for line in stack.split("\n"):
- for i in range(0, len(line), 4):
- block = line[i:i+4]
- if '[' in block:
- stks[i//4].append(block[1])
- for i in range(len(stks)):
- stks[i] = stks[i][::-1]
- orig_stks = deepcopy(stks)
- for move in moves.split("\n"):
- count, fromi, toj = [int(x) for x in re.findall(r'\d+', move)]
- fromi -= 1
- toj -= 1
- while count and stks[fromi]:
- stks[toj].append(stks[fromi].pop())
- count -= 1
- top = ""
- for s in stks:
- if s:
- top += s[-1]
- print(top)
- for move in moves.split("\n"):
- count, fromi, toj = [int(x) for x in re.findall(r'\d+', move)]
- fromi -= 1
- toj -= 1
- n = len(orig_stks[fromi])
- orig_stks[toj] += orig_stks[fromi][n - count:]
- orig_stks[fromi] = orig_stks[fromi][:n - count]
- top = ""
- for s in orig_stks:
- if s:
- top += s[-1]
- print(top)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement