Dada una dirección de correo electrónico, el resultado de una transformación aplicada a esa dirección de correo electrónico, y una segunda dirección de correo electrónico, devuelve el resultado de la misma transformación aplicada a la segunda dirección de correo electrónico.
Todas las direcciones de correo electrónico tendrán la siguiente estructura:
Una cadena de longitud positiva que contiene caracteres alfanuméricos y como máximo uno .(la parte local), seguido de un @símbolo, seguido de una cadena de longitud positiva que contiene símbolos alfanuméricos (el dominio), seguido de un .símbolo y una cadena final de longitud positiva que contiene caracteres alfanuméricos (el TLD).
Hay cuatro transformaciones permitidas:
- Identidad (sin cambio). (
a.b@c.d -> a.b@c.d) - Devolver solo la parte local (todo antes de
@) sin modificar (a.b@c.d -> a.b). - Devolver la parte local dividida en el
.si está presente, con el primer símbolo de cada mitad en mayúscula. (a.b@c.d -> A B). - Devolver solo el dominio (todo entre el
@y el final.) sin modificar. (a.b@c.d -> c).
Cuando es posible más de una transformación, puede dar el resultado de cualquiera de las posibilidades. Los espacios en blanco al inicio y al final de la salida no importan, pero en el medio sí (es decir, si se divide a.ben A Bdebería haber solo un espacio en el medio [y cualquier número al inicio y al final de la salida], pero si se divide a., entonces, Acon cualquier número de espacios a cada lado, todos son aceptables).
Ejemplos ( input | output):
john.doe@gmail.com, John Doe, phillip.maini@gmail.com | Phillip Maini
John.Doe@gmail.com, John Doe, Phillip.Maini@gmail.com | Phillip Maini
foo.bar@hotmail.com, foo.bar, gee.whizz@outlook.com | gee.whizz
foo.bar@hotmail.com, foo.bar, gEe.Whizz@outlook.com | gEe.Whizz
rodney.dangerfield@comedy.net, comedy, michael.scott@office.0 | office
.jones@x.1, Jones, a.@3.z | A
.jones@x.1, .jones@x.1, a.@3.z | a.@3.z
.jones@x.1, .jones, a.@3.z | a.
.jones@x.1, x, a.@3.z | 3
.@b.c, .@b.c, 1@2.3 | 1@2.3
john.jones@f.f, John Jones, 1in.thehand@2inthe.bush | 1in Thehand
chicken.soup@q.z, Chicken Soup, fab@ulou.s | Fab
lange@haare.0, lange, fat.so@fat.net | fat.so
Lange@haare.0, Lange, fat.so@fat.net | {fat.so, Fat So} # either acceptable
chicken@chicken.chicken, chicken, horse@pig.farm | {horse, pig} # either acceptable
Se aplican las reglas habituales y las lagunas.
@y final .). Dado que la parte local y el dominio son ambos chicken, es ambiguo si se trata de la segunda o cuarta transformación
A[con un espacio final] que la segunda entrada sea Jones[con un espacio inicial])?
.jones@x.1, Jones, a.@3.zes así A: si jonescoincide, significa que la parte coincidente es la parte entre el primer período y el símbolo @. Pero eso daría como resultado una cadena vacía porque aes anterior al primer período y no después.