Desafio
Oi, dada uma string como entrada, remova qualquer saudação encontrada no início da string.
O programa que executa as substituições mais corretas em menos de 50 bytes ganha.
Saudações
Ei, uma saudação é definida como uma das seguintes palavras:
- Oi
- Ei
- Olá
- caro
- saudações
- hai
- rapazes
- Olá eu
- Olá
- oi
- feno
- heya
- hola
- oi
- saudações
A primeira letra pode ser maiúscula.
Sempre haverá uma vírgula e / ou um espaço único após a saudação, que também deve ser removida. A vírgula e o espaço podem estar em qualquer ordem ( ,<space>
ou <space>,
) e ambos devem ser removidos.
A saudação e a palavra a seguir serão separadas apenas por vírgula e / ou espaço único.
Você deve colocar em maiúscula a primeira letra da palavra que teria seguido a saudação. Mesmo que nenhuma substituição tenha ocorrido, você ainda deve capitalizar a primeira palavra da saída.
Letras maiúsculas se aplicam somente a caracteres alfabéticos minúsculos ( abcdefghijklmnopqrstuvwxyz
). Você deve deixar qualquer outro personagem como estava.
A saudação será sempre no início da string. Você não deve substituir uma saudação que não esteja no início.
Nem sempre pode haver uma saudação.
Seu código deve ter menos de 50 bytes.
Exemplos
Input > Output
Salutations, what's going on? > What's going on?
hello i have quetions how does juice an avocado > I have quetions how does juice an avocado
How d'you do > How d'you do
Hey,You! > You!
hola cows eat hay > Cows eat hay
hey Hi there! > Hi there!
hihi ,guys > Guys
Bateria de teste
Olá, existem 1000 entradas diferentes no total:
A bateria de teste pode ser encontrada aqui, onde cada entrada é separada por uma nova linha: https://github.com/beta-decay/Remove-Substitutions-Battery/blob/master/inputs.txt
As saídas corretas correspondentes estão aqui: https://github.com/beta-decay/Remove-Substitutions-Battery/blob/master/replaced.txt
Um comando Bash para recuperar os itens acima é
wget https://raw.githubusercontent.com/beta-decay/Remove-Substitutions-Battery/master/{inputs,replaced}.txt
Ganhando
Olá, o programa com as substituições mais corretas das 1000 entradas acima vence.
Você deve colocar a porcentagem das entradas que seu programa manipula corretamente no cabeçalho da seguinte maneira:
# Language Name, percentage%
Não sei ao certo por que Jeff fez isso, mas faz um bom desafio.
s=>System.Text.RegularExpressions.Regex.Replace();
50 bytes antes que um padrão seja especificado, isso é C # então. (Com uma abordagem regex é claro)