Saltar al contenido

Las escalas del viaje

Enunciado

Sofía compró un viaje por Sudamérica con varias escalas, y el boleto trae cada tramo con el código de la ciudad de salida y el de la de llegada. Antes de imprimirlo, la agencia revisa que ningún tramo salga de una ciudad donde ella no está.

Escribe una función que reciba la lista de tramos, en orden, y regrese verdadero si cada tramo sale de la ciudad donde llegó el anterior, y falso si alguno no. Cada tramo es un texto de la forma "MEX-BOG": tres letras mayúsculas de salida, un guion y tres letras de llegada, sin espacios. ["MEX-BOG", "BOG-LIM", "LIM-SCL"] está encadenado: verdadero. En ["MEX-BOG", "LIM-SCL"] llega a BOG y sale de LIM: falso.

Volver a una ciudad donde ya estuvo se vale. Una lista vacía o de un solo tramo está encadenada.

Ejemplos

  • El del ejemplo

    ["MEX-BOG", "BOG-LIM", "LIM-SCL"] → true

  • Llegan a la misma ciudad

    ["MEX-BOG", "LIM-BOG"] → false

  • Un solo tramo

    ["GDL-CUN"] → true

  • Ida y vuelta

    ["MEX-BOG", "BOG-MEX"] → true

Además de estas, el reto tiene pruebas ocultas que se revelan al enviar tu solución.

Empiezas con esto

Python

def encadenado(tramos):
    pass

JavaScript

function encadenado(tramos) {
}
Resolver este reto

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.

Más retos de O(n)

Ver todos los retos →