Vías de vagoneta

Published by Thomas O'Dell in

Ted trabaja como programador en Minecraft Inc. Su jefe acaba de asignarle la importante tarea de actualizar el código de las vías de las vagonetas antes de que termine abril. Sin embargo, recientemente ha tenido que aislarse debido a la Covid-19 y dejó el código de las vías EN EL TRABAJO. Tiene la abreviatura de las vías que debe revisar y dónde se supone que deben terminar las vagonetas, pero no tiene el código propiamente dicho.

Sabe que:

  1. "-->" = "Vía de aceleración" ⁠— Si una vagoneta interactúa con esta vía, su velocidad aumenta en 2.67 BPS, a menos que alcance su velocidad máxima de 8 BPS.
  2. "<-->" = "Vía propulsada" ⁠— Si una vagoneta interactúa con esta vía, su velocidad permanece igual.
  3. "<--" = "Vía de desaceleración" ⁠— Si una vagoneta interactúa con esta vía, su velocidad disminuye en 2.67 BPS, a menos que su velocidad sea igual a 0, momento en el que se detiene.
  4. "---" = "Vía sin propulsión" ⁠— Si una vagoneta interactúa con esta vía, su velocidad disminuye en 1 BPS, a menos que su velocidad sea igual a 0, momento en el que se detiene.

Ayuda a Ted escribiendo una clase para las vías que interactúe con la clase Minecart proporcionada, como se muestra arriba. Después, escribe una función que reciba una lista de las abreviaturas de las vías y:

  • Si la Minecart llega al último tramo de la vía, devuelve True.
  • De lo contrario, devuelve el índice del tramo de la vía donde se detiene la Minecart.

Ejemplos

mine_run(["-->", "-->", "-->", "<--", "<--", "<--"]) ➞ True

mine_run(["-->", "<--", "-->", "-->", "<-->", "---"]) ➞ 1

Notas

N/A