Le scénario
Étant donné une entrée de lettres et d'espaces minuscules ASCII, dessinez une spirale de caractères qui retrace l'entrée d'origine des caractères à l'exclusion des espaces.
Les règles
1) Les personnages doivent tourner en spirale dans le sens antihoraire vers la gauche de façon extérieure. Si un virage à gauche n'est pas possible, alors allez tout droit.
Given: abcdefg
Output:
g
baf
cde
2) Les personnages peuvent se transformer en caractères précédents tant que la règle n ° 1 n'est pas violée. De plus, si ce caractère est en spirale, alors ce caractère est en majuscule. Une fois qu'un personnage est en majuscule, il restera en majuscule quel que soit le nombre de fois qu'il sera réutilisé.
Given: apples appeal
Output:
PAs
PLe
ea
abcdefghab
?Réponses:
JavaScript,
225221212 octets-9 octets grâce à Conor O'Brien
Veuillez noter que vos cas de texte sont en conflit les uns avec les autres. Votre premier cas de test commence au milieu de la spirale. Votre deuxième test élémentaire commence au milieu supérieur de la spirale. Je suis allé avec votre premier cas de test, car c'était le premier que j'ai vu. Vous n'avez pas modifié votre question depuis plus d'un an, alors désolé pour la présomption.
Premier cas de test:
Deuxième cas de test:
Sans plus tarder, voici le code du golf. Je suis sûr à 100% que si la communauté réussit, cela pourrait être considérablement réduit. Cela renvoie un tableau multiligne.
Extrait de simplification (imprime une chaîne multiligne sur la console). Veuillez noter les différents dans mon cas de test # 2 et le cas de test OP # 2 (voir ci-dessus si vous ne l'avez pas déjà fait):
(si quelqu'un ayant plus d'expérience avec les extraits de code souhaite corriger cela en entrée HTML, n'hésitez pas à le modifier, je dois me coucher).
Non golfé et explication
la source
a.split("")
est équivalent à[...a]
;s=>{...;return a;}
est équivalent às=>eval("...;a")
(et;
est facultatif dans la version la moins golfée); tous les points-virgules suivis d'un}
sont facultatifsapples appeal
? Je voisppa
eas
aLe
, ce qui n'est certainement pas correct car il n'y a pas àl
côté de l'p
art.eppa
apas
lple
s
.