É obviamente elipsisessieses.
Inspirado por uma mensagem de bate-papo .
Seu desafio
Dada uma lista ou espaço ou sequência de palavras separada por vírgula, as reticências indicam o significado.
Para elipsesessieses-ify uma palavra:
- Comece com a palavra.
- Adicione a primeira letra da palavra original ao final.
- Adicione 2 da última letra da palavra original ao final.
- Adicione a penúltima letra da palavra original ao final.
- Adicione a primeira letra da palavra original ao final.
- Adicione a última letra da palavra original ao final.
- Repita as etapas 5 e 6 uma vez.
- Você Terminou!
Você pode assumir:
- As palavras de entrada serão apenas alfanuméricas
- Entrada e saída podem ser uma sequência ou lista separada por espaço
- A entrada conterá apenas palavras
- As palavras terão pelo menos 2 letras
- A entrada corresponderá ao regex
/^[a-z0-9]{2,}( [a-z0-9]{2,})*$/i
- Você pode ter um formato de entrada e saída diferente
- Mais por vir ...
Casos de teste:
ellipsis -> ellipsisessieses
goat -> goatgttagtgt
covfefe -> covfefeceefcece
programmer5000 -> programmer5000p000p0p0
up vote down goat -> upuppuupup voteveetveve downdnnwdndn goatgttagtgt
it is golf yo -> itittiitit isissiisis golfgfflgfgf yoyooyyoyo
crossed out 44 is still 44 -> crossedcddecdcd outottuotot 4444444444 isissiisis stillslllslsl 4444444444
As respostas mais curtas são recebidas por bytes em bytesbssebsbs winswssnwsws!
Respostas:
JavaScript (ES6),
5857 bytesNB: Isso acaba usando o mesmo truque que Jonathan Allan nesta resposta Jelly (embora eu tenha notado depois de postar).
Guardado 1 byte graças a Jonathan Allan
Funciona em matrizes de strings.
Casos de teste
Mostrar snippet de código
fonte
21102121
por01120101
en-2
com-n
.Geléia ,
13 1211 bytesUm programa completo que pega uma lista de listas de caracteres e imprime a saída separada por espaço.
Experimente online!
Quão?
Como alternativa, uma lista de palavras para lista de palavras também é possível em 11 bytes :
⁽×ʠb3’
também pode ser substituído por4,⁵Bj-
para a mesma contagem de bytes(
[4,10]
em binário é[[1,0,0],[1,0,1,0]]
associado por-1
is[1,0,0,-1,1,0,1,0]
).fonte
K
porque, como um link monádico, a lista retornada não seria uma nível profundo, o que eu imagino estar empurrando E / S frouxa demais - ou seja, seria uma entrada do["this", "is", "it"]
valor de retorno[['t','h','i','s',"tssitsts"],['i','s',"issiisis"],['i','t',"ittiitit"]]
(onde "..." são listas de caracteres) e deixá-lo para imprimir como um programa completo o esmagaria todos juntos comothistssitstsisissiisisitittiitit
)05AB1E , 12 bytes
Experimente online!
Explicação
fonte
Retina ,
5249 bytes3 bytes graças a Arnauld.
Experimente online!
fonte
Python 2 , 56 bytes
Experimente online!
Eu acho que este é o meu FGITW mais rápido e nem é tão impressionante. : P
fonte
Python 3 , 60 bytes
Experimente online!
fonte
Carvão , 20 bytes
Experimente online! Link é a versão detalhada do código. Só aconteceu de ler a resposta de @ Arnauld depois de codificar isso, mas esta é basicamente uma porta dela. Explicação:
fonte
-rs
sinalizador?-rs
é lá apenas para desativar a impressão a entrada rápida embora-rs
modo o padrão?sed, 46 bytes
Experimente online!
fonte
JavaScript (ES6),
7460 bytesRecebe a entrada como uma matriz e gera uma matriz.
-9 bytes graças a Programmer5000
Casos de teste:
Mostrar snippet de código
fonte
Mathematica, 89 bytes
fonte
Ellipsisessieses
embutido? :(Pitão , 17 bytes
Usa o mesmo truque da resposta de @ Jonathan .
Experimente aqui! ou Confira o conjunto de teste (aguarde algum tempo).
Porta da minha solução Python,
19 bytes18 bytes :fonte
Dyalog APL,
5149 bytesRequer
⎕ML←3
-9 bytes graças a @ Adám no chat!
Experimente online!
fonte
Paradoc (v0.2.10), 13? bytes (CP-1252)
Experimente online!
Leva uma lista de palavras e resulta em uma lista de palavras na pilha.
Uma pequena variação no truque base-3. Talvez esteja na hora de trabalhar na minha base 250 - seja qual for o compressor.
Explicação:
(Pergunta com contagem de bytes: agora que estou demonstrando isso no TIO, é necessária uma lista de palavras na pilha e resulta em uma lista de palavras na pilha, mas você realmente não pode fazer muito com essa lista de palavras a menos que você feche o bloco iniciado por µ. Devo contar essa chave de fechamento?)
fonte
Wolfram Language / Mathematica, 66 bytes
Basta agitá-lo bem rápido, pode ter uma pequena melhoria aqui ou ali.
fonte
Perl 5 ,
5549 + 1 (-a) =5650 bytesusou um truque da postagem de @ Arrnauld para salvar alguns bytes
Experimente online!
fonte
Carvão ,
3830 bytes-8 bytes graças ao ASCII-only.
Experimente online! Link é a versão detalhada.
Observe o espaço à direita.
fonte
Java 8, 117 bytes
Recebe a entrada como uma matriz de String e modificou essa matriz original em vez de retornar uma nova para salvar bytes.
Provavelmente pode ser jogado um pouco mais ..
Explicação:
Experimente aqui.
fonte
C # (.NET Core) , 106 bytes
Experimente online!
Função Lambda que recebe entrada como matriz de seqüências de caracteres e modifica a matriz original para saída
fonte