Advertisement
rolfvanoven

AoC 2022 dag 5

Dec 7th, 2022
634
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.77 KB | None | 0 0
  1. # bestand inlezen:
  2. bestand = open('input.txt', 'r')
  3. alles = bestand.readlines()
  4.  
  5. # lege torens maken:
  6. torens = []
  7. for x in range(9):
  8.   torens.append([])
  9.  
  10. # torens vullen:
  11. for y in range(8):
  12.   for x in range(35):
  13.     if alles[y][x] == '[':
  14.       torens[int(x/4)].append(alles[y][x+1])
  15.  
  16. # torens ondersteboven keren:
  17. for x in range(9):
  18.   torens[x].reverse()
  19.  
  20. #instructies inlezen:
  21. verplaatsen = []
  22. for x in range(501):
  23.   verplaatsen.append(alles[x+10])
  24.   verplaatsen[x] = verplaatsen[x].replace('move ', '')
  25.   verplaatsen[x] = verplaatsen[x].replace(' from ', ',')
  26.   verplaatsen[x] = verplaatsen[x].replace(' to ', ',')
  27.   verplaatsen[x] = verplaatsen[x].split(',')
  28.   for y in range(3):
  29.     verplaatsen[x][y] = int(verplaatsen[x][y])
  30.  
  31. # verplaatsen:
  32. for verplaatsing in range(len(verplaatsen)):
  33.   for stap in range(verplaatsen[verplaatsing][0]):
  34.     torens[verplaatsen[verplaatsing][2]-1].append(torens[verplaatsen[verplaatsing][1]-1].pop(-1))
  35.  
  36. # uitlezen:
  37. antwoord = ''
  38. for x in range(9):
  39.   antwoord += torens[x][-1]
  40. print(antwoord)
  41.  
  42. # nieuwe lege torens maken voor 6b:
  43. torens = []
  44. for x in range(9):
  45.   torens.append([])
  46.  
  47. # torens opnieuw vullen:
  48. for y in range(8):
  49.   for x in range(35):
  50.     if alles[y][x] == '[':
  51.       torens[int(x/4)].append(alles[y][x+1])
  52. for x in range(9):
  53.   torens[x].reverse()
  54.  
  55. #verplaatsen:
  56. for verplaatsing in range(len(verplaatsen)):
  57.   oppakken = []
  58.   for x in range(verplaatsen[verplaatsing][0]):
  59.     oppakken.append(torens[verplaatsen[verplaatsing][1]-1][-x-1])
  60.   oppakken.reverse()
  61.   for x in range(len(oppakken)):
  62.     torens[verplaatsen[verplaatsing][2]-1].append(oppakken[x])
  63.     torens[verplaatsen[verplaatsing][1]-1].pop(-1)
  64.  
  65. # uitlezen:
  66. antwoord = ''
  67. for x in range(9):
  68.   antwoord += torens[x][-1]
  69. print(antwoord)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement