Day 5 2022
This commit is contained in:
parent
adc1f4a005
commit
519457de8a
3 changed files with 565 additions and 0 deletions
44
Python/2022/05/main.py
Normal file
44
Python/2022/05/main.py
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
input = open("input", 'r')
|
||||
# input = open("sample", 'r')
|
||||
|
||||
data = [[] for i in range(9)]
|
||||
data2 = [[] for i in range(9)]
|
||||
|
||||
total = 0
|
||||
total2 = 0
|
||||
|
||||
|
||||
mode = 0
|
||||
|
||||
|
||||
for line in input:
|
||||
if line == "\n":
|
||||
mode = 1
|
||||
continue
|
||||
if mode == 0:
|
||||
line = line.strip()
|
||||
for i in range(0, len(line), 4):
|
||||
if line[i] == "[":
|
||||
data[i//4].insert(0, line[i+1])
|
||||
data2[i//4].insert(0, line[i+1])
|
||||
elif mode == 1:
|
||||
move, quantity, frm, stackA, to, stackB = line.strip().split(" ")
|
||||
for i in range(int(quantity)):
|
||||
top = data[int(stackA)-1].pop()
|
||||
data[int(stackB)-1].append(top)
|
||||
|
||||
#part 2
|
||||
print(line)
|
||||
print(data2)
|
||||
move = data2[int(stackA)-1][-int(quantity):]
|
||||
print(move)
|
||||
del data2[int(stackA)-1][-int(quantity):]
|
||||
for crate in move:
|
||||
data2[int(stackB)-1].append(crate)
|
||||
|
||||
|
||||
for stack in data:
|
||||
print(stack.pop(), end="")
|
||||
print()
|
||||
for stack in data2:
|
||||
print(stack.pop(), end="")
|
||||
Loading…
Add table
Add a link
Reference in a new issue