Advertisement
Guest User

AOC2022_Day20

a guest
Dec 20th, 2022
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.82 KB | Source Code | 0 0
  1. def swap(numbers, indices, index, n):
  2. value = numbers[index]
  3. location_of_index = [i for i, x in enumerate(indices) if x == index][0]
  4. indices.pop(location_of_index)
  5. insert_at = (location_of_index + value) % (n - 1)
  6. indices.insert(insert_at, index)
  7. return value
  8.  
  9. numbers = []
  10. for i in range(len(input_lines)):
  11. line = int(input_lines[i])
  12. numbers.append(line) # numbers.append(line * 811589153) # for part 2
  13.  
  14. n = len(numbers)
  15. numbers = numbers
  16. indices = [i for i in range(n)]
  17.  
  18. for k in range(1): # for k in range(10): # for part 2
  19. for i, number in enumerate(numbers):
  20. swap(numbers, indices, i, n)
  21.  
  22. new_list = [numbers[i] for i in indices]
  23. index_of_zero = [i for i, x in enumerate(new_list) if x == 0][0]
  24. new_list[(1000 + index_of_zero) % n] + new_list[(2000 + index_of_zero) % n]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement