Saltar al contenido

La pareja de esquinas

Enunciado

Ofelia despacha el sitio de taxis del barrio y apunta cada viaje: de qué esquina a qué esquina. Quiere saber qué dos esquinas se piden más entre sí, para dejar ahí un taxi esperando.

Escribe una función que reciba viajes, una lista donde cada viaje es ["salida", "llegada"], dos esquinas distintas escritas en minúsculas, sin acentos y sin espacios. Un viaje de ida y uno de vuelta entre las mismas dos esquinas cuentan para la misma pareja. Regresa la pareja más pedida como una lista con sus dos esquinas en orden alfabético.

Con estos cinco viajes: de mercado a terminal, de terminal a mercado, de plaza a hospital, de mercado a plaza y de terminal a mercado, la pareja mercado y terminal se pidió tres veces y ninguna otra más de una, así que regresas ["mercado", "terminal"].

Si dos parejas o más empatan, regresas la que va antes en el abecedario: se compara la esquina que va antes en cada pareja y, si es la misma, la otra. Si no hay viajes, no hay pareja y regresas una lista vacía.

Ejemplos

  • El ejemplo

    [["mercado", "terminal"], ["terminal", "mercado"], ["plaza", "hospital"], ["mercado", "plaza"], ["terminal", "mercado"]] → ["mercado", "terminal"]

  • Empate, gana la primera del abecedario

    [["reloj", "vivero"], ["plaza", "puente"], ["vivero", "reloj"], ["puente", "plaza"]] → ["plaza", "puente"]

  • Un solo viaje

    [["terminal", "alameda"]] → ["alameda", "terminal"]

  • Sin viajes

    [] → []

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

Empiezas con esto

Python

def pareja_mas_pedida(viajes):
    pass

JavaScript

function parejaMasPedida(viajes) {
}
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 →