diff --git a/day_5.py b/day_5.py new file mode 100644 index 0000000..bb8083a --- /dev/null +++ b/day_5.py @@ -0,0 +1,27 @@ +import aocd +from dotenv import load_dotenv + +load_dotenv() +puzzle_input = aocd.get_data(day=5, year=2022) +inputs = puzzle_input.split('\n\n') +cargo = [[],[],[],[],[],[],[],[],[]] +moves = inputs[1].replace('move ','').replace(' from ',',').replace(' to ',',').split('\n') +transposed_cargo = inputs[0].split('\n')[:-1] + +for s,stack in enumerate(cargo): + for transposed_stack in reversed(transposed_cargo): + for letter in transposed_stack[1+s*4]: + if letter != ' ': + stack.append(letter) + +for m,move in enumerate(moves): + column_to = int(move.split(',')[2])-1 + column_from = int(move.split(',')[1])-1 + moved_number = int(move.split(',')[0]) + cargo[column_to] = cargo[column_to] + list(reversed(cargo[column_from][-moved_number::])) + cargo[column_from] = cargo[column_from][:-moved_number] + +answer = [] +for stack in cargo: + answer.append(stack[-1]) +print(str("".join(answer))) \ No newline at end of file