El rover que vuelve a la base
- O(n) · Media
- Plan completo
- Python
- JavaScript
- textos
- ciclos
Enunciado
Cada orden tarda veinte minutos en llegar a Marte, así que el rover las recibe todas juntas, como flechas, y avanza una casilla por flecha. Al terminar, el control quiere saber a cuántos pasos quedó de la base. Escribe una función que reciba un texto hecho solo de ^ (una casilla arriba), v (abajo), < (izquierda) y > (derecha), y regrese un número entero: los pasos horizontales más los pasos verticales que separan al rover de donde empezó, sin importar hacia qué lado quedó.
Con ">>^^^<v" avanza 2 a la derecha y 1 a la izquierda, y queda a 1 de lado; sube 3 y baja 1, y queda a 2 de alto: regresas 3.
Las flechas contrarias se cancelan: "^v" da 0. Las de ejes distintos no: "^<" da 2. El texto vacío da 0.
Ejemplos
El del ejemplo
">>^^^<v" → 3
Vuelve a donde empezó
"^v<>" → 0
Arriba y a la izquierda no se cancelan
"^<" → 2
Una sola flecha
">" → 1
Además de estas, el reto tiene pruebas ocultas que se revelan al enviar tu solución.
Empiezas con esto
Python
def pasos_a_base(ordenes):
passJavaScript
function pasosABase(ordenes) {
}Se abre en el navegador, con el editor y las pruebas. Este reto es del plan completo; los de O(1) y O(log n) son gratis.