Poursuivre mon C'était juste un défi de bug :
Contribution:
Une chaîne composée de caractères ASCII imprimables sans espaces blancs ni nouvelles lignes.
Production:
Transformez d'abord l'entrée en un palindrome en inversant l'entrée et en l'ajoutant avant elle-même, en excluant le caractère du milieu (c'est-à-dire avec une entrée 1234567890
, elle deviendra 0987654321234567890
).
Et puis affichez ce texte:
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0987654321234567890
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
(Du milieu vers l'extérieur dans les deux directions, chaque caractère est séparé par un espace de plus que la ligne précédente.)
Règles du défi:
- Vous devez imprimer deux fois la longueur de l'entrée, moins 3 lignes. Ainsi, avec l'entrée
1234567890
, la sortie affichée ci-dessus est de 17 lignes (longueur 10 * 2 - 3). - L'entrée ne contiendra que de l'ASCII imprimable (hors espace, tabulation et nouvelle ligne).
- Les espaces de fin sont facultatifs.
- Une seule nouvelle ligne de fin est facultative.
- Les espaces de début (supplémentaires) ou les nouvelles lignes de début ne sont pas autorisés.
- Vous pouvez supposer que l'entrée comportera toujours au moins quatre caractères.
- Contrairement à mon C'était juste un défi de bogue , les formats d'entrée et de sortie sont flexibles. Vous êtes donc autorisé à générer le résultat sous forme de tableau de chaînes, de liste de chaînes, etc.
Règles générales:
- C'est le code-golf , donc la réponse la plus courte en octets l'emporte.
Ne laissez pas les langues de golf de code vous décourager de publier des réponses avec des langues autres que le golf de code. Essayez de trouver une réponse aussi courte que possible pour «n'importe quel» langage de programmation. - Des règles standard s'appliquent à votre réponse, vous êtes donc autorisé à utiliser STDIN / STDOUT, fonctions / méthode avec les paramètres appropriés et des programmes complets de type retour. Ton appel.
- Les failles par défaut sont interdites.
- Si possible, veuillez ajouter un lien avec un test pour votre code.
- Veuillez également ajouter une explication si nécessaire.
Cas de test:
Input: 1234567890
Output:
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0987654321234567890
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
Input: ABCD
Output:
D C B A B C D
D C B A B C D
DCBABCD
D C B A B C D
D C B A B C D
Input: =>)}]
Output:
] } ) > = > ) } ]
] } ) > = > ) } ]
] } ) > = > ) } ]
]})>=>)}]
] } ) > = > ) } ]
] } ) > = > ) } ]
] } ) > = > ) } ]
Input: XXxxXX
Output:
X X x x X X X x x X X
X X x x X X X x x X X
X X x x X X X x x X X
X X x x X X X x x X X
XXxxXXXxxXX
X X x x X X X x x X X
X X x x X X X x x X X
X X x x X X X x x X X
X X x x X X X x x X X
Réponses:
Fusain , 14 octets
Essayez-le en ligne!
AST:
la source
Japt ,
2221 octetsTestez-le en ligne!
Explication
Les 8 premiers octets génèrent le quadrant inférieur droit du motif:
À ce stade, nous avons un tableau d'ex
["ABCD", "A B C D", "A B C D"]
. Malheureusement, il faut 13 octets pour mettre cela au carré:la source
05AB1E , 17 octets
Essayez-le en ligne!
-1 grâce à kalsowerus .
la source
.c.∊
parû.c
û
... merci!JavaScript (ES6) ,
159136129127 octetsEssayez-le en ligne!Explication ci-dessous
Première entrée sur codegolf, je m'excuse à l'avance pour toute erreur évidente.
Merci à Justin Mariner pour avoir économisé 23 octets! Merci à Craig Ayre pour avoir économisé 11 octets et pour le rapport de bogue.
la source
x
à -2 au lieu de -1, et de changerx<=l
pour++x<=l
que vous puissiez supprimer lex++
et enregistrer un octet?lines
est également enchevêtré avec l'espacement, donc cela finit par coûter plus d'octets pour que tout fonctionne à nouveau. Mais je suis assez certain qu'il existe à la fois une meilleure façon d'organiser le code et d'ajouter votre suggestion.SOGL V0.12 ,
2218 octetsEssayez-le ici!
Explication:
la source
╬-
commande de palindromisation quadridirectionnelle est-elle? J'étais juste ici pour souhaiter que Japt ait quelque chose comme ça ...: P╬
c'est beaucoup de choses╬-
. Mais merci, je n'ai pas pu trouver cette page pour une raison quelconqueF
pour∑
si elle est nécessaire.Python 3 ,
149 14195 95 octetsEssayez-le en ligne!
Merci à @KevinCruijssen et @ETHproductions pour avoir économisé quelques octets
Un merci spécial à @notjagan pour avoir économisé 46 octets!
la source
l=len(s);
àl=len(s)-1;
puis changer toutes les valeurs impliquantl
(c'est-àl-1
- dire ->l
;-l+2
->-l+1
; etc.) est 8 octets plus court. Essayez-le ici.-l+2
->2-l
:)center
au lieu de lafor
boucle!PHP,
145131 octetsIl a fallu un peu de réflexion pour jouer au golf cet octet supplémentaire; mais ça en valait la peine.
imprime une nouvelle ligne de premier plan. Exécuter en tant que pipe avec
-nR
ou l' essayer en ligne .panne
solution alternative , même longueur:
la source
APL (Dyalog) , 37 octets
Requiert
⎕IO←0
ce qui est par défaut sur de nombreux systèmes.{
…}
Fonction anonyme où l'argument est représenté par ⍵(
…)↑¨¨⊂⍵
Pour chacun (¨
) des nombres suivants, prenez (↑
) autant de caractères de chacun (¨
) de l'⊂
argument entier ( ), en remplissant avec des espaces si nécessaire:≢w
le nombre de caractères dans l'argumentd←
stocker cela en d⍳
autant de ɩ ndices (0… d - 1)1↓
déposer un (le zéro)∊¨
ε nlist (aplatir) chaque↑
augmenter le rang (convertir la liste des listes en matrice)(m←
…)
Appliquer la fonction tacite m suivante , définie comme:⊖
l'argument à l'envers⍪
au dessus de1
une rangée]↓
est tombé de⊢
l'argument⍉
transposer(
…)↓
Baisse:2-d
= - ( d - 2), c'est-à-dire d - 2 rangées à partir du basm
appliquer m⍉
transposerEssayez-le en ligne!
la source
Java (OpenJDK 8) ,
201196 octetsEssayez-le en ligne!
C'est la même idée que celle que j'ai utilisée pour le défi précédent , sauf que la chaîne du générateur est maintenant un peu plus longue et avec des cas plus difficiles à gérer.
la source
Python 3 ,
134124 octetsEssayez-le en ligne!
Premier message sur PPCG après avoir été tapi pendant un moment. Vous cherchez des suggestions / conseils!
Merci à @LyricLy et @ Łukasz Rogalski pour les améliorations!
la source
f=
bytecount, il suffit de fournir une fonction anonyme.-len(s)+2
c'est juste2-len(s)
un octet de moins.Haskell,
177163 octetsLa fonction
f
est la fonction de défi et renvoie une liste de chaînes ([String]
), en utilisantunlines
sur elle devrait fournir la même sortie visuelle que les cas de test (main = putStr $ unlines $ f "test string"
pour la compiler).Essayez-le en ligne!
-14 octets grâce à @nimi
la source
k
peut être défini au furk n=[1..n]>>" "
et àp
mesurep=(++)=<<reverse.tail
(vous pouvez même intégrer cette définition).Mathematica, 141 octets
la source