Vous recevrez une chaîne composée d'ASCII imprimable (sans retour à la ligne). Votre tâche est de construire un joli escalier pour mon château.
Comment construire un joli escalier?
Tout d'abord, vous devriez obtenir toutes les rotations de la chaîne. Par exemple, la chaîne
abcd
a les rotations suivantes:abcd, bcda, cdab, dabc
(chaque caractère est déplacé jusqu'à la fin jusqu'à ce que nous atteignions le dernier caractère).Nous plaçons maintenant chaque rotation l'une sur l'autre:
abcd bcda cdab dabc
Nous ne pouvons pas vraiment grimper sur un mur droit, nous devons donc construire des escaliers. Cela signifie que vous devez ajouter un certain nombre d'espaces avant chaque rotation correspondant à son index dans la liste de rotation:
abcd bcda cdab dabc
Vous avez également besoin d'un escalier qui relie à l'autre côté de mon château, vous devez donc en construire un comme ci-dessous, en inversant chaque rotation et en ajoutant un peu d'espacement:
abcd dcba bcda adcb cdab badc dabccbad
C'est le code-golf , donc le code le plus court en octets gagne et les règles standard pour la balise s'appliquent.
Cas de test
Entrée:,
abcd
Sortie:abcd dcba bcda adcb cdab badc dabccbad
Entrée:,
aaaa
Sortie:aaaa aaaa aaaa aaaa aaaa aaaa aaaaaaaa
Entrée:,
Code golf
Sortie (notez les espaces):Code golf flog edoC ode golfC Cflog edo de golfCo oCflog ed e golfCod doCflog e golfCode edoCflog golfCode edoCflog olfCode g g edoCflo lfCode go og edoCfl fCode gollog edoCf
dab
c. -------Réponses:
05AB1E , 12 octets
Code:
Utilise le encodage 05AB1E . Essayez-le en ligne!
Explication:
la source
Gelée , 16 octets
Essayez-le en ligne!
Bien sûr, -1 en utilisant Jonathan Allan de
ɓ
!la source
J’ɓ⁹⁶ẋ;"ṙz⁶Zm€0Y
(ouLḶ
pourJ’
)Rétine , 47 octets
Essayez-le en ligne! Explication: La première étape crée l'escalier de gauche en considérant chaque caractère et en créant des espaces égaux à la position actuelle, puis le reste de la chaîne, puis le début de la chaîne, puis des espaces égaux au reste de la chaîne. Le reste du script s'exécute sur chaque ligne qui vient d'être générée à son tour. La ligne est d'abord dupliquée, puis les caractères du doublon sont inversés, puis la ligne et son doublon sont concaténés.
la source
Python 3 , 89 octets
Essayez-le en ligne!
-1 octet grâce aux ovs
-1 octet grâce à Lynn
la source
l-i-1
peut être justel+~i
comme~i == -i-1
' '*(l+~i)*2
est égal à' '*(l+~i)
, qui est un octet plus court!C (gcc) , 126 octets
Essayez-le en ligne!
la source
Fusain ,
23 2120 octetsEssayez-le en ligne!
Peut probablement être joué plus, mais je poste depuis l'application mobile. Lien vers la version détaillée .
la source
G→↘←Lθθ‖C
.Haskell,
8079 octetsEssayez-le en ligne!
Comment ça fonctionne
Edit: Merci à @ Ørjan Johansen pour un octet.
la source
u#_=u
enregistre un octet.unlines
oùu#_=u
ne tape pas check et plus tard je suis passé à la construction d'une seule chaîne ... Merci!J, 34 octets
non golfé
Essayez-le en ligne!
la source
Pyth , 19 octets
Essayez-le en ligne!
la source
Mathematica, 119 octets
la source
PHP, 95 octets
Exécuter en tant que pipe avec
-nR
ou l' essayer en ligne .panne
la source
Japt , 22 octets
La nouvelle ligne de tête fait partie du programme.
Essayez-le en ligne!
Exécutez tous les cas de test à l' aide de mon WIP CodePen.
Explication
Implicite:
U
= chaîne d'entrée. La première ligne est vide pour ne pas écraserU
.La deuxième ligne affecte implicitement la longueur (
l
) deU
àV
.Troisième ligne:
la source
Pyth, 20 octets
Essayez-le en ligne!
la source
Javascript (ES6), 118 octets
Exemple d'extrait de code:
la source
Python 2 ,
8583 octetsl+~i
et m'a aidé à repérer un espace indésirableEssayez-le en ligne!
la source
l-1-i
peut juste êtrel+~i
comme~i == -i-1
8e ,
173168 octetsCode
Version non golfée avec commentaires
Utilisation et exemples
Ou plus clairement
la source