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*rk
com pelo menos uma
substitui o asterisco)Woof
,Wooof
,Woooof
, ... (W*f
com, pelo menos, 2o
s substituindo o asterisco)Grr
,Grrr
,Grrrr
, ..., (G
seguido por, pelo menos, 2r
s)- 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 Woof
baseados e Grr
fichas baseados sempre requerem pelo menos duas o
s e r
s, respectivamente; Wof
e nãoGr
são tokens válidos.
Não há limite para a duração de um token (por exemplo, quantos a
s repetidos podem existir em um Bark
token); no entanto, seu decodificador só precisa funcionar corretamente para tokens de entrada com até 10a
s, o
s ou r
s 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
,Woof
eGrr
torne - seHey
;Baark
,Wooof
eGrrr
torne - seHeyy
;Baaark
,Woooof
eGrrrr
torne - seHeyyy
; etc.- Para
Bark
tokens com base em todos , o número dey
s noHey
token com base na saída deve ser igual ao número dea
s; - Para
Woof
tokens com base em todos , o número dey
s noHey
token com base na saída deve ser um a menos que o número deo
s; - Para
Grr
tokens com base em todos , o número dey
s noHey
token com base na saída deve ser um a menos que o número der
s; - Todas as pontuações (
.
,!
e?
) permanecem inalteradas.
Lembre-se de retirar um y
da saída apenas por se Woof
es Grr
! A entrada Baaaaaaaark?
, com 8 a
s, se tornará Heyyyyyyyy?
, com um conjunto correspondente de 8 y
s. No entanto, Woooooooof?
torna-se apenas Heyyyyyyy?
, com 7 y
s.
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 Grr
os 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 grrr
em Hey heyy
ou qualquer coisa semelhante.
Exemplo de entradas e saídas
- Entrada:
Bark. Bark! Bark!!
- Saída:
Hey. Hey! Hey!!
- Entrada:
- Entrada:
Baaaaaark?
(seisa
s) - Saída:
Heyyyyyy?
(seisy
s)
- Entrada:
- Entrada:
Grrrrrrrr...
(oitor
s) - Saída:
Heyyyyyyy...
( setey
s)
- Entrada:
- Entrada:
?...!
- Saída:
?...!
- Entrada:
- Entrada:
Wooof Woof? Grrrr. Baaaark Grr!
- Saída:
Heyy Hey? Heyyy. Heyyyy Hey!
- Entrada: