Jimmy a eu une semaine chargée avec toutes ces plates - formes et cordes , et le pauvre Jimmy n'a même pas de jambes ou de pieds pour se tenir debout!
Votre travail consiste à prendre une chaîne contenant plusieurs Jimmys et à leur donner des jambes et des chaussures!
Obtenez une entrée sous la forme d'une chaîne Jimmy
Jimmy String => /o\ /o\ /o\
contenant uniquement /o\
et
donnez à chaque Jimmy en entrée une paire de pieds qui ressemble à ceci:
/o\
_/ \_
Transformez la chaîne Jimmy à tête flottante entrée en chaîne Jimmy avec pieds, comme ceci:
// Input
/o\ /o\ /o\
// Output
/o\ /o\ /o\
_/ \_ _/ \_ _/ \_
Si 2 Jimmys sont proches l'un de l'autre, ils doivent se déplacer pour faire de la place, Jimmys se déplacera toujours vers la droite pour faire de la place pour d'autres Jimmys.
// Input
/o\/o\
// Output
/o\ /o\
_/ \__/ \_
Les autres Jimmys éloignés ne doivent pas être déplacés sauf si nécessaire
// Input
/o\/o\ /o\
// Output
/o\ /o\ /o\
_/ \__/ \_ _/ \_
// Input
/o\/o\ /o\
// Output
/o\ /o\ /o\
_/ \__/ \__/ \_
Des règles et des lacunes standard s'appliquent,
C'est le golf de code, alors la réponse la plus courte peut gagner.
/o\<sp>/o\<sp><sp><sp><sp><sp><sp><sp><sp>/o\/o\
mon implémentation actuelle échoue car elle déplace les deux derniers Jimmies vers la gauche au lieu de la droite. Tous vos cas de test réussissent cependant.Réponses:
Python 2 ,
131120115114121118 octetsEssayez-le en ligne!
4 octets de thx à movatica ; 10 octets perdus pour correction de bogue.
la source
o+=2-len(g)
vous fait économiser un octetRubis
-p
,7775 octetsLa règle "ne déplacez pas Jimmy si vous n'en avez pas besoin" a été assez difficile à contourner, mais je pense que cela a très bien fonctionné. Plus court que Python de beaucoup (au moment de la rédaction), au moins.
-2 octets de récursif.
Essayez-le en ligne!
la source
\S+
à la place de\/\S*
?PowerShell , 96 octets
Essayez-le en ligne!
Déroulé:
la source
Python 2 ,
152148140 octetsEssayez-le en ligne!
la source
Fusain , 28 octets
Essayez-le en ligne! Le lien est vers la version détaillée du code. Explication:
Imprimez un espace pour vaincre la marge gauche automatique de Charcoal.
Faites une boucle sur tous les bras gauches.
Sautez à l'emplacement du pied gauche souhaité. Notez que le charbon de bois n'a aucun problème à dessiner
(-1, 1)
, mais la question ne le permet pas, nous devons donc faire attention à ne pas dessiner à des positions négatives.Déplacez-vous au-delà de toute sortie existante.
Sortez les pieds puis déplacez-vous pour sortir le Jimmy.
la source
Retina ,
4037 octetsEssayez-le en ligne!
Merci à Value Ink d'avoir joué au golf sur 3 octets.
la source
(\\ ?|^)(/\S*) ?
est plus courte que celle de votre première ligne et devrait donner les mêmes résultats (probablement; je ne connais pas du tout la rétine)Stax ,
29282425 octetsExécuter et déboguer
Il y avait un bogue dans la solution de 24 octets qui a provoqué des erreurs off-by-1 dans certains cas.
la source
JavaScript (ES6), 107 octets
Essayez-le en ligne!
la source