- Por Matheus Marabesi and Emmanuel Valverde
- ·
- Publicado 14-abr-2023 9:52:47
Procesamiento de textos
Introducción Como un desarrollador que escribe blogs quiero una herramienta que me ayude a entender mejor el texto que estoy redactando. Para ello..
La NASA enviará un grupo de rovers exploradores a una plataforma en Marte.
Esta plataforma, curiosamente rectangular, debe ser recorrida por los rovers para que sus cámaras capturen una imagen completa del terreno circundante y la envíen a la Tierra.
Tu tarea consiste en desarrollar una API que desplace los rovers por la plataforma.
En esta API, la plataforma se representa como una cuadrícula de 10x10, y cada rover tiene un estado que consta de dos partes:
'N', 'S', 'E', 'W'
)'0:0:N'
El input del programa es una secuencia de comandos de movimiento de un carácter:
'L'
y 'R'
cambian la dirección del rover. 'M'
mueve el rover una casilla hacia delante en la dirección en la que ya está orientado.Si un rover llega al final de la plataforma, deberá volver a la primera casilla del extremo opuesto.
El output del programa es la posición final del rover después de que se hayan ejecutado todos los comandos de movimiento. La posición se representa como unas coordenadas y una dirección, unidas por dos puntos para formar una cadena. Por ejemplo: un rover cuya posición es `2:3:W` está en la casilla (2,3), mirando al oeste.
'MMRMMLM',
el output debería ser '2:3:N'
'MMMMMMMMMM',
el output debería ser '0:0:N'
(debido a que regresa a la casilla del extremo opuesto)
No hay restricciones en el diseño de la interfaz pública.
Una interfaz pública para la API podría ser algo así:
public class MarsRover
{
public string Execute(string command);
}
'RMMLM',
y regresa al punto final después de los movimientos '2:1:N'
Crédito: Google Code Archive
Una vez que completes esta kata, ¿por qué no pruebas la kata completa Mars Rover para un reto más avanzado?
Introducción Como un desarrollador que escribe blogs quiero una herramienta que me ayude a entender mejor el texto que estoy redactando. Para ello..
Introducción Esta es la tercera parada en la ruta de aprendizaje de Test-Driven Development. A estas alturas, deberías estar razonablemente..
Introducción Esta versión del clásico juego Acorazados, o Battleships en inglés, cuenta con tres naves: Portaaviones: 4 casillas -..
Suscríbete a nuestra newsletter para que podamos hacerte llegar recomendaciones de expertos y casos prácticos inspiradores