Mini-golfe de 9 buracos: Descrição
- 9 (na maior parte razoavelmente fácil) desafios de código de golfe de dificuldade variável
- Sanções por usar o mesmo idioma mais de uma vez
- Todos os desafios sobre um tema específico (este tema: Manipulação de texto)
- Entrada e saída podem ser razoáveis em qualquer lugar (por exemplo, STDIN e STDOUT, leitura / gravação em um arquivo, argumento de função e valor de retorno, etc.), mas NÃO devem ser codificadas no programa
- Fortemente inspirado no desafio de 9 buracos e no mecânico de texto
Buracos
Código-saco de golfe
Pegue duas cordas como entrada.
Gera a contagem de caracteres da primeira string, ignorando qualquer ocorrência de qualquer caractere na segunda string.
Exemplo:f("foobarbaz", "ao")
=>5
Um pré-texto para jogar golfe
Pegue duas cordas como entrada.
Saída a primeira string, com cada linha prefixada com a segunda.
Exemplo:f("foo\nbar\nbaz", "a")
=>"a foo\na bar\na baz"
Guerra de abas vs espaços
Pegue uma strings
, um númeron
e um booleanob
(especificado como desejar) como entrada.
Seb
for verdade, faça a saídas
com todas as guias convertidas emn
espaços.
Senão, faça a saídas
com todos osn
espaços convertidos em guias.
Exemplo:f("if (x) {\n\tdoStuff();\n}", 4, true)
=>"if (x) {\n[sp][sp][sp][sp]doStuff();\n}"
([sp]
significa espaço)Pilares de golfe
Pegue uma string
s
, um númeron
e outro númerom
como entrada.
Saídas
em colunas den
linhas cada em
caracteres por coluna.
Também possui preenchimento de um espaço entre as colunas.
Exemplo:f("this is some placeholder text, foo bar baz...", 3, 5)
=>this aceho foo is so lder bar b me pl text, az...
Cartas amigáveis
Pegue uma strings
e um númeron
como entrada.
Envie o grupo den
letras mais comum ems
.
Se houver um empate, produza um ou todos eles.
Exemplo:f("abcdeabcfghiabc", 3)
=>"abc"
Letras de
Pegue uma string como entrada.ovosmexidos no café da manhã
Produza a sequência com todas as suas palavras embaralhadas (ordem das letras aleatoriamente), exceto a primeira e a última letras.
Por uma questão de simplicidade, suponha que a entrada seja uma lista de "palavras" s, separadas por espaço (ou seja@$&_():;" foo bar
, em ,@$&_():;"
é considerada uma "palavra".)
Exemplo:f("this is a sentence that will be scrambled")
=>"tihs is a stcneene that wlil be sclamrbed"
ASCIIfy
Pegue uma string como entrada.
Se a sequência contiver apenas números e espaços, substitua os números pelos respectivos caracteres ASCII (removendo os espaços).
Senão, faça o inverso (caracteres para números).
Exemplo:f("ASCIIfy challenge")
=>"65 83 67 73 73 102 121 32 99 104 97 108 108 101 110 103 101"
Exemplo 2:f("65 83 67 73 73 102 121 32 99 104 97 108 108 101 110 103 101")
=>"ASCIIfy challenge"
Transformação mini-mini-markdown
Pegue uma string como entrada.
Produza a sequência convertida com minidistribuição, conforme usado nos comentários no Stack Exchange.
Esta é uma versão ainda mini-er: você só precisa lidar com**bold**
,*italics*
e`code`
.
Você não precisa lidar com aninhamentos inválidos, como**foo *bar** baz*
. Suponha também que quando você vê um delimitador (*
ou`
), isso sempre significa formatar (ou seja,te**st**ing
=>te<b>st</b>ing
efoo* bar *baz
=>foo<i> bar </i>baz
).
Exemplo:f("**foo** *bar **baz*** `qux`")
=>"<b>foo</b> <i>bar <b>baz</b></i> <code>qux</code>"
Apenas os melhores personagens
Pegue uma sequências
, númeron
e sequênciar
como entrada.
Produza on
th caractere de cada palavra ems
. (Indexadas em 0, as palavras são separadas por espaço).
Se o comprimento da palavra for menor quen
, user
para essa palavra.
Exemplo:f("this is a test sentence foo bar baz", 2, "-")
=>"i--snorz"
Pontuação
Sua pontuação é a soma das contagens de caracteres dos seus programas. Para cada idioma repetido, multiplique por 110%. Por exemplo, se você tiver três soluções Ruby e a contagem total de caracteres de todas as suas soluções for 1000, sua pontuação será 1000 * 1,1 * 1,1 = 1210. Arredonde para baixo se você tiver uma pontuação não inteira.
Boa sorte!
_
não importa desde que eu especifiquei não incluí-lo. Eu editei para esclarecer alguns dos outros.
**foo***bar**baz*
?