Ce sont évidemment des ellipsisessieses.
Inspiré d' un message de chat .
Votre défi
Étant donné une liste ou un espace ou une chaîne de mots séparés par des virgules, les points de suspension les identifient.
Pour ellipsisessieses-ify un mot:
- Commencez par le mot.
- Ajoutez la première lettre du mot d'origine à la fin.
- Ajoutez à la fin 2 de la dernière lettre du mot d'origine.
- Ajoutez l'avant-dernière lettre du mot d'origine à la fin.
- Ajoutez la première lettre du mot d'origine à la fin.
- Ajoutez la dernière lettre du mot d'origine à la fin.
- Répétez les étapes 5 et 6 une fois.
- Vous avez terminé!
Vous pouvez supposer:
- Les mots saisis seront uniquement alphanumériques
- L'entrée et la sortie peuvent être une chaîne ou une liste séparée par des espaces
- L'entrée ne contiendra que des mots
- Les mots compteront au moins 2 lettres
- L'entrée correspondra à l'expression régulière
/^[a-z0-9]{2,}( [a-z0-9]{2,})*$/i
- Vous pouvez avoir un format d'entrée et de sortie différent
- Plus à venir...
Cas de test:
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
Shorteststtsstst answerarrearar ininniinin bytesbssebsbs winswssnwsws!
Réponses:
JavaScript (ES6),
5857 octetsNB: Cela s'avère utiliser la même astuce que Jonathan Allan dans cette réponse Jelly (bien que je l'ai remarqué après avoir posté).
1 octet enregistré grâce à Jonathan Allan
Fonctionne sur des tableaux de chaînes.
Cas de test
Afficher l'extrait de code
la source
21102121
par01120101
etn-2
par-n
.Gelée ,
13 1211 octetsUn programme complet qui prend une liste de listes de caractères et imprime la sortie séparée par des espaces.
Essayez-le en ligne!
Comment?
Alternativement, une liste de mots en liste de mots est également possible en 11 octets :
⁽×ʠb3’
peut également être remplacé par4,⁵Bj-
pour le même nombre d'octets(
[4,10]
en binaire est[[1,0,0],[1,0,1,0]]
joint par-1
est[1,0,0,-1,1,0,1,0]
).la source
K
car en tant que lien monadique, la liste renvoyée n'en serait pas une niveau profond, ce qui, j'imagine, pousse les E / S laxistes trop loin - c'est-à-dire qu'une entrée de["this", "is", "it"]
la valeur de retour serait[['t','h','i','s',"tssitsts"],['i','s',"issiisis"],['i','t',"ittiitit"]]
(où "..." sont des listes de caractères) et le laisser à imprimer comme un programme complet le briserait tous ensemble commethistssitstsisissiisisitittiitit
)05AB1E , 12 octets
Essayez-le en ligne!
Explication
la source
Rétine ,
5249 octets3 octets grâce à Arnauld.
Essayez-le en ligne!
la source
Python 2 , 56 octets
Essayez-le en ligne!
Je pense que c'est mon FGITW le plus rapide et ce n'est même pas si impressionnant. : P
la source
Python 3 , 60 octets
Essayez-le en ligne!
la source
Fusain , 20 octets
Essayez-le en ligne! Le lien est vers la version détaillée du code. Il ne m'est arrivé de lire la réponse de @ Arnauld qu'après avoir codé cela, mais c'est essentiellement un portage. Explication:
la source
-rs
indicateur?-rs
est là juste pour désactiver l'impression de l'invite de saisie-rs
mode par défaut?sed, 46 octets
Essayez-le en ligne!
la source
JavaScript (ES6),
7460 octetsPrend l'entrée en tant que tableau et génère un tableau.
-9 octets grâce à Programmer5000
Cas de test:
Afficher l'extrait de code
la source
Mathematica, 89 octets
la source
Ellipsisessieses
intégrée? :(Pyth , 17 octets
Utilise la même astuce que dans la réponse de @ Jonathan .
Essayez-le ici! ou Découvrez la suite de tests (Donnez-lui un peu de temps).
Port de ma solution Python,
19 octets18 octets :la source
Dyalog APL,
5149 octetsA besoin
⎕ML←3
-9 octets grâce à @ Adám dans le chat!
Essayez-le en ligne!
la source
Paradoc (v0.2.10), 13? octets (CP-1252)
Essayez-le en ligne!
Prend une liste de mots et donne une liste de mots sur la pile.
Une petite variation sur l'astuce de base-3. Il est peut-être temps de travailler sur ma base 250, quel que soit le compresseur.
Explication:
(Question de comptage d'octets: maintenant que je démontre cela dans TIO, cela prend une liste de mots sur la pile et donne une liste de mots sur la pile, mais vous ne pouvez pas vraiment faire grand-chose avec cette liste de mots sauf si vous fermez le bloc commencé par µ. Dois-je compter cette accolade fermante?)
la source
Wolfram Language/Mathematica, 66 bytes
Just whipped it up real quick, might have a minor improvement here or there.
la source
Perl 5,
5549 + 1 (-a) =5650 bytesused a trick from @Arrnauld's post to save a couple bytes
Try it online!
la source
Charcoal,
3830 bytes-8 bytes thanks to ASCII-only.
Try it online! Link is to verbose version.
Note the trailing space.
la source
Java 8, 117 bytes
Takes the input as a String-array, and modified this original array instead of returning a new one to save bytes.
Can most likely be golfed some more..
Explanation:
Try it here.
la source
C# (.NET Core), 106 bytes
Try it online!
Lambda function that takes input as array of strings, and modifies original array for output
la source