Acabo de conseguir un trabajo como cartero y necesito tu ayuda para mantenerlo. Tengo que pedir muchos correos antes de salir a entregarlos.
Las calles están numeradas estrictamente secuencialmente, comenzando con 1 al comienzo de la calle, y continuando en orden sin omitir ningún número hasta el final, con números impares en el lado izquierdo y pares en el lado derecho. Más casas se agregaron más tarde, por lo que también podemos tener letras agregadas al número cívico.
El cofre contiene todo el correo de la ciudad, así que tengo que elegir solo los correos de mi calle.
Necesito tu ayuda para ordenar los correos más rápido. Lo que le pido es que escriba una función o un programa completo tomando:
- Un nombre de calle.
- Una lista de números cívicos ordenados siguiendo mi camino.
- Una lista de direcciones (que representa el cofre de correo).
Y generar una lista de direcciones que contiene solo las de mi calle, ordenadas siguiendo la lista de números cívicos.
Una dirección tiene la forma:
Person Name/n
CivicN Street Name
Donde CivicN es un número que puede ser seguido por un '/' y una LETRA MAYÚSCULA (10 10 / B). Si lo prefiere, se aceptan minúsculas.
Si los nombres de calles se superponen, se consideran calles diferentes:
Church Road != Saint Lorenz Church Road
Omitimos el resto de la dirección por simplicidad (suponiendo que sea la misma para cada correo)
Las cartas deben entregarse rápidamente para que gane la respuesta más corta.
EJEMPLO:
Diseño :
1 1/B 3 5 7 9 11 13
==============================
2 4 4/B 6
Entrada:
"Tea Avenue"
["1","1/B","2","4","3","5","7","4/B","6","9","11","13"]
["Mrs. Pie O. Pinky\n6 Tea Avenue","Ms. Kita I. Omeeha\n6 Tea Avenue","Mr. Raile A. Lee\n26 Uea Grove","Odd O. Nic\n76 Mira Road","Mrs. Fuel Tee\n78 Uea Grove","Ny O. Ondip\n55 Uea Grove","Mrs. Black\n67 Uea Grove","Ollie E.\n11 Tea Avenue","Mr. Urna Li\n75 Mira Road","Ms. Polly\n2 Tea Avenue"]
Salida:
Ms. Polly
2 Tea Avenue
Mrs. Pie O. Pinky
6 Tea Avenue
Ms. Kita I. Omeeha
6 Tea Avenue
Ollie E.
11 Tea Avenue
Entrada:
"Church Road"
["1","3","5","5/B","2","4","7","7/B","6","9","9/B","11","11/B"]
["Billy Ray V.\n5 Church Roadside East","Ms. Mia\n5 Church Road","Mrs. Dadeos\n9/B Church Road","Dr. Ymin U.\n3 Church Road","Atty. Nerou\n3 Church Road","Ollie A. Chaim\n6 Saint Lorenz Church Road","Ms. Rose\n5 Church Road","Alf Taohy\n79 Berry Road","Ms. Ootr E.\n5 Saint Lorenz Church Road","Lol E.\n21 Berry Road","Ms. Norton\n2 Church Road"]
Salida:
Dr. Ymin U.
3 Church Road
Atty. Nerou
3 Church Road
Ms. Mia
5 Church Road
Ms. Rose
5 Church Road
Ms. Norton
2 Church Road"
Mrs. Dadeos
9/B Church Road
Generador de prueba: ¡ Pruébelo en línea! Cambie string_wrapper_left / right y separator para modificar el formato.
Reglas:
- Las lagunas estándar están prohibidas.
- Métodos de entrada / salida estándar.
- La respuesta más corta en bytes gana.