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*rk
con al menos 1a
reemplazando el asterisco)Woof
,Wooof
,Woooof
, ... (W*f
con al menos 2o
s reemplazando el asterisco)Grr
`Grrr
`Grrrr
, ..., (G
seguido de al menos 2r
s)- 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 Woof
basados y Grr
basados siempre requieren al menos dos o
sy r
s respectivamente; Wof
y noGr
son tokens válidos.
No hay límite en cuanto a la duración de un token (por ejemplo, cuántos a
s repetidos puede haber en un Bark
token); Sin embargo, su decodificador sólo tiene que funcionar correctamente para tokens de entrada con un máximo de 10 en total a
s, o
S, o r
S 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
,Woof
YGrr
convertidoHey
;Baark
,Wooof
YGrrr
convertidoHeyy
;Baaark
,Woooof
YGrrrr
convertidoHeyyy
; etc.- Para todos los
Bark
tokens basados, el número dey
s en elHey
token basado en la salida debe ser igual al número dea
s; - Para todos los
Woof
tokens basados en, el número dey
s en elHey
token basado en la salida debe ser uno menos que el número deo
s; - Para todos los
Grr
tokens basados en, el número dey
s en elHey
token basado en la salida debe ser uno menos que el número der
s; - Todo puntuacion (
.
,!
y?
) se deja sin cambios.
¡Recuerde soltar uno y
de la salida solo para Woof
sy Grr
s! La entrada Baaaaaaaark?
, con 8 a
s, se convertirá Heyyyyyyyy?
, con un conjunto coincidente de 8 y
s. Sin embargo, se Woooooooof?
vuelve único Heyyyyyyy?
, con 7 y
s.
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 Grr
los 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 grrr
en Hey heyy
o algo similar.
Ejemplo de entradas y salidas
- Entrada:
Bark. Bark! Bark!!
- Salida:
Hey. Hey! Hey!!
- Entrada:
- Entrada:
Baaaaaark?
(seisa
s) - Salida:
Heyyyyyy?
(seisy
s)
- Entrada:
- Entrada:
Grrrrrrrr...
(ochor
s) - Salida:
Heyyyyyyy...
( sietey
s)
- Entrada:
- Entrada:
?...!
- Salida:
?...!
- Entrada:
- Entrada:
Wooof Woof? Grrrr. Baaaark Grr!
- Salida:
Heyy Hey? Heyyy. Heyyyy Hey!
- Entrada: