A menos que você tenha um script de usuário que modifique o design do site (ou mesmo se houver), você deve ter notado que temos o design do site!
Então, para comemorar, vamos criar um programa que aplique retroativamente esse design (simplificado demais, é claro)!
Portanto, as mudanças mais importantes são:
- nosso novo nome agora é Code Golf and Coding Challenges
- nosso site não é mais a cor azul padrão e é um bom verde escuro
Então, dada uma string, mude:
PPCG
paraCGCC
Programming Puzzles {non-whitespace} Code Golf
paraCode Golf {same-thing} Coding Challenges
(por exemplo,Programming Puzzles + Code Golf
,and Code Golf
e& Code Golf
tudo seria alterado paraCode Golf + Coding Challenges
,and Coding Challenges
, e& Coding Challenges
.#abc
para#acb
(alternar azul para verde e vice-versa - apenas ignore o fato de que o verde não deve logicamente se tornar azul, mas não quero complicar a mudança de cor)#abcdef
para#abefcd
(o mesmo que acima)
Observe que, para as trocas de cores, você deve aceitar qualquer dígito hexadecimal de 0-9
a a-f
. Você pode escolher qual caso de dígito hexadecimal exigir, mas deve ser consistente e o mesmo da entrada à saída.
Suas substituições podem fazer distinção entre maiúsculas e minúsculas e, caso contrário, especifique como a saída funciona.
As substituições só devem acontecer quando a string estiver cercada por limites de palavras (incluindo o início da #
). Em outras palavras, cada uma das substituições especificadas deve ocorrer apenas se a correspondência estiver na borda da sequência ou for delimitada por caracteres não alfanuméricos (nos dois lados).
Aplicam-se brechas padrão. Este é um desafio do código-golfe, portanto o código mais curto vence!
Exemplos
PPCG -> CGCC
Programming Puzzles or Code Golf -> Code Golf or Coding Challenges
PPCG stands for Programming Puzzles and Code Golf and its site color is #abf -> CGCC stands for Code Golf and Coding Challenges and its site color is #afb
The color #00f is much more intense than #5568ed -> The color #0f0 is much more intense than #55ed68
Programming Puzzles and No Substitution -> Programming Puzzles and No Substitution
No Substitution and Code Golf -> No Substitution and Code Golf
Programming Puzzles and no substitution Code Golf -> Programming Puzzles and no substitution Code Golf
Code Golf and Programming Puzzles -> Code Golf and Programming Puzzles
Programming Puzzles and Programming Puzzles and Code Golf -> Programming Puzzles and Code Golf and Coding Challenges
(para o último caso de teste, é importante observar que a sequência traduzida pode ser convertida novamente, mas a transformação deve ser aplicada exatamente uma vez)
Atualização importante
(Obrigado @tsh)
A Programming Puzzles ... Code Golf
regra de substituição pode incluir as outras regras dentro dela ( Programming Puzzles PPCG Code Golf
é válida). Nesse caso, você pode escolher se as regras são ou não aplicadas, mas devem ser determinísticas. Não estou exigindo que você seja consistente entre PPCG
e #...
porque as respostas parecem implementar as regras em minha ordem de lista, o que resulta em inconsistências. Isso é apenas um esclarecimento; Eu acredito que todas as respostas atuais permanecem válidas.
Programming Puzzles and no substitution Code Golf
que também pode pegar alguém (mesmo que todo mundo esteja usando o mesmo regex válido)
Code Golf and Programming Puzzles
e Programming Puzzles and Programming Puzzles and Code Golf
. @Veskah Hmm, e acho que o último caso de teste sugerido falha na minha resposta 05AB1E, já que não tenho regex ..>. <Voltar para a prancheta ..