Introdução
Nós - especialmente os nerds entre nós, que tendem a ser fãs - todos nos lembramos desse velho desenho animado do Far Side :
Claramente, o professor Schwartzman poderia ter aprimorado suas habilidades de programação apenas um pouquinho mais antes de usar sua invenção. Mas você pode replicar você mesmo ... usando o mínimo de bytes possível?
Especificações de entrada
Você deve criar um script que traduza os sons de cães em "Hey" s entonados adequadamente. Isso é puro código de golfe; o menor número de bytes vence.
Sua entrada consistirá em alguma combinação dos seguintes tokens:
Bark,Baark,Baaark,Baaaark, ... (isto é,B*rkcom pelo menos umasubstitui o asterisco)Woof,Wooof,Woooof, ... (W*fcom, pelo menos, 2os substituindo o asterisco)Grr,Grrr,Grrrr, ..., (Gseguido por, pelo menos, 2rs)- Qualquer número de caracteres
.(ponto),!(ponto de exclamação) e / ou?(ponto de interrogação), que pode ocorrer em qualquer lugar da entrada
Note-se, mais uma vez, que os Woofbaseados e Grrfichas baseados sempre requerem pelo menos duas o s e rs, respectivamente; Wofe nãoGr são tokens válidos.
Não há limite para a duração de um token (por exemplo, quantos as repetidos podem existir em um Barktoken); no entanto, seu decodificador só precisa funcionar corretamente para tokens de entrada com até 10a s, os ou rs totais para passar nesse desafio.
Especificações de saída
Fiel ao design de Schwartzman, seu programa de decodificador canino deve processá-lo no texto de saída da seguinte maneira:
Bark,WoofeGrrtorne - seHey;Baark,WooofeGrrrtorne - seHeyy;Baaark,WoooofeGrrrrtorne - seHeyyy; etc.- Para
Barktokens com base em todos , o número deys noHeytoken com base na saída deve ser igual ao número deas; - Para
Wooftokens com base em todos , o número deys noHeytoken com base na saída deve ser um a menos que o número deos; - Para
Grrtokens com base em todos , o número deys noHeytoken com base na saída deve ser um a menos que o número ders; - Todas as pontuações (
.,!e?) permanecem inalteradas.
Lembre-se de retirar um yda saída apenas por se Woofes Grr! A entrada Baaaaaaaark?, com 8 as, se tornará Heyyyyyyyy?, com um conjunto correspondente de 8 ys. No entanto, Woooooooof?torna-se apenas Heyyyyyyy?, com 7 ys.
Novamente, se você conseguir que seu programa funcione para tokens de entrada de tamanho ilimitado, isso é ótimo, mas para os propósitos deste desafio, seu programa será verificado apenas para garantir que funcione corretamente para tokens de entrada que não tenham mais que 10 letras repetidas .
Todos Bark-, Woof-, e Grros tokens baseados em sua entrada são assumidos para começar com letras maiúsculas. Portanto, não há nenhuma necessidade de viragem alça Bark grrrem Hey heyyou qualquer coisa semelhante.
Exemplo de entradas e saídas
- Entrada:
Bark. Bark! Bark!! - Saída:
Hey. Hey! Hey!!
- Entrada:
- Entrada:
Baaaaaark?(seisas) - Saída:
Heyyyyyy?(seisys)
- Entrada:
- Entrada:
Grrrrrrrr...(oitors) - Saída:
Heyyyyyyy...( seteys)
- Entrada:
- Entrada:
?...! - Saída:
?...!
- Entrada:
- Entrada:
Wooof Woof? Grrrr. Baaaark Grr! - Saída:
Heyy Hey? Heyyy. Heyyyy Hey!
- Entrada:

