Introducción
Nosotros, especialmente los geeks entre nosotros, que tienden a ser fanáticos, todos recordamos esta vieja caricatura de Far Side :
Claramente, el profesor Schwartzman podría haber repasado sus habilidades de programación un poquito más antes de poner en práctica su invento. Pero, ¿puedes replicarlo tú mismo ... usando la menor cantidad de bytes posible?
Especificaciones de entrada
Debe crear una secuencia de comandos que traduzca los sonidos de los perros en "Hey" adecuadamente entonados. Esto es puro golf de código; gana el menor número de bytes.
Su entrada consistirá en alguna combinación de los siguientes tokens:
Bark,Baark,Baaark,Baaaark, ... (es decir,B*rkcon al menos 1areemplazando el asterisco)Woof,Wooof,Woooof, ... (W*fcon al menos 2os reemplazando el asterisco)Grr`Grrr`Grrrr, ..., (Gseguido de al menos 2rs)- Cualquier número de caracteres
.(punto),!(signo de exclamación) y / o?(signo de interrogación), que pueden aparecer en cualquier parte de la entrada
Tenga en cuenta, nuevamente, que los tokens Woofbasados y Grrbasados siempre requieren al menos dos o sy rs respectivamente; Wofy noGr son tokens válidos.
No hay límite en cuanto a la duración de un token (por ejemplo, cuántos as repetidos puede haber en un Barktoken); Sin embargo, su decodificador sólo tiene que funcionar correctamente para tokens de entrada con un máximo de 10 en total as, oS, o rS para pasar este desafío.
Especificaciones de salida
Fiel al diseño de Schwartzman, su programa decodificador canino debe procesarlo en texto de salida de la siguiente manera:
Bark,WoofYGrrconvertidoHey;Baark,WooofYGrrrconvertidoHeyy;Baaark,WoooofYGrrrrconvertidoHeyyy; etc.- Para todos los
Barktokens basados, el número deys en elHeytoken basado en la salida debe ser igual al número deas; - Para todos los
Wooftokens basados en, el número deys en elHeytoken basado en la salida debe ser uno menos que el número deos; - Para todos los
Grrtokens basados en, el número deys en elHeytoken basado en la salida debe ser uno menos que el número ders; - Todo puntuacion (
.,!y?) se deja sin cambios.
¡Recuerde soltar uno yde la salida solo para Woofsy Grrs! La entrada Baaaaaaaark?, con 8 as, se convertirá Heyyyyyyyy?, con un conjunto coincidente de 8 ys. Sin embargo, se Woooooooof?vuelve único Heyyyyyyy?, con 7 ys.
Nuevamente, si puede hacer que su programa funcione para tokens de entrada de tamaño ilimitado, eso es genial, pero para los propósitos de este desafío, su programa solo se verificará para asegurarse de que funcione correctamente para tokens de entrada que no tengan más de 10 letras repetidas .
Todo Bark-, Woof-, y Grrlos tokens basados en su entrada se supone que comenzar con letras mayúsculas. Por lo tanto, no hay ninguna necesidad de inflexión mango Bark grrren Hey heyyo algo similar.
Ejemplo de entradas y salidas
- Entrada:
Bark. Bark! Bark!! - Salida:
Hey. Hey! Hey!!
- Entrada:
- Entrada:
Baaaaaark?(seisas) - Salida:
Heyyyyyy?(seisys)
- Entrada:
- Entrada:
Grrrrrrrr...(ochors) - Salida:
Heyyyyyyy...( sieteys)
- Entrada:
- Entrada:
?...! - Salida:
?...!
- Entrada:
- Entrada:
Wooof Woof? Grrrr. Baaaark Grr! - Salida:
Heyy Hey? Heyyy. Heyyyy Hey!
- Entrada:

