La pareja de esquinas
- O(n) · Media
- Plan completo
- Python
- JavaScript
- diccionarios
- listas
- comparaciones
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):
passJavaScript
function parejaMasPedida(viajes) {
}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.