Solutions to Advent of Code 2017 https://adventofcode.com/2017/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

05.py 558B

123456789101112
  1. def execute(instructions, incrementor, position=0):
  2. while 0 <= position < len(instructions):
  3. next_position = position + instructions[position]
  4. instructions[position] += incrementor(instructions[position])
  5. position = next_position
  6. yield position
  7. with open('data/05.txt', 'r') as file:
  8. instructions = list(map(int, file.readlines()))
  9. print(f'Part one: {sum(1 for _ in execute(list(instructions), lambda x: 1))}')
  10. print(f'Part two: {sum(1 for _ in execute(list(instructions), lambda x: -1 if x >= 3 else 1))}')