Tâche
- Prenez la chaîne d'entrée séparée par un espace.
- Triez les mots par ordre alphabétique.
- Imprimez-les verticalement en 3 colonnes séparées par des espaces.
Défi
- Les hauteurs des trois colonnes doivent être pondérées aussi uniformément que possible.
- Les trois colonnes doivent être alignées à gauche.
C'est le code-golf , donc le code le plus court gagne!
Exemple
Si l'entrée est:
"cat caterpillar pie frog elephant pizza",
La sortie doit être:
cat elephant pie
caterpillar frog pizza
Veuillez vous méfier des cas, si la saisie est:
"a b c d e f g"
Doit être imprimé comme:
a c e
b d f
g
# or
a d f
b e g
c
# and not
a d g
b e
c f
Réponses:
Husk ,
2417 octetsEssayez-le en ligne!
Explication
C'était un défi étonnamment délicat, car Husk n'a actuellement pas de fonction intégrée pour diviser une liste en un certain nombre de pièces.
la source
Gelée , 6 octets
Essayez-le en ligne!
la source
a b c d e f g
boîtier, et j'ai fait d'autres tests approfondis parce que j'avais ce sentiment aussi en premier. Oh, et sa brièveté vient duG
(Format as G rid.) Intégré.Python 3 , 148 octets
-6 octets grâce aux ovs.
Essayez-le en ligne!
Je travaille dessus.Tout ce que j'ai essayé rend la sortie déséquilibrée ...la source
Mathematica, 115 octets
essayez-le sur wolfram sandbox
collez le code suivant et appuyez sur Maj + Entrée
la source
Perl 5 , 134 + 1 (
-a
) = 135 octetsEssayez-le en ligne!
la source
05AB1E , 8 octets
Essayez-le en ligne!
la source
Javascript
181175 octetsla source
J , 73 octets
Je peux expliquer ce gâchis plus tard si quelqu'un est intéressé.
Essayez-le en ligne!
la source
Charbon de bois ,
6564 octetsEssayez-le en ligne! Le lien est vers la version détaillée du code. Économisez 2 octets si je n'ai pas à gérer le cas de moins de 3 mots. Il y a probablement un "eval" de tri que je devrais utiliser ... Explication:
Divisez l'entrée sur les espaces.
Triez le tableau.
Faites une boucle sur trois tranches approximativement égales du tableau. (
I1
devrait vraiment l'être¦¹
.)Joignez la tranche avec des nouvelles lignes et imprimez-la sans déplacer le curseur.
Si la tranche n'est pas vide, déplacez-vous d'un cran vers la droite de la longueur du mot le plus long de la tranche.
la source
358 octets de JS minifié:
la source
GNU sed , 92 + 1 = 93 octets
+1 octet pour l'
-r
indicateur.Je n'ai pas joué au golf du tout, mais cela s'est avéré beaucoup plus simple que ce à quoi je m'attendais.
Essayez-le en ligne!
la source
Shell Bourne, 172 octets
Il est plus lisible s'il est formaté de manière conventionnelle:
Au prix de l'analyse de l'entrée une fois par colonne, elle n'utilise aucun tableau. Un programme awk plus complexe pourrait ouvrir 3 fichiers (un pour chaque Nième mot), traitant l'entrée en une seule passe. Ensuite, ils pourraient être concaténés et imprimés en utilisant la même dernière ligne.
La variable
N
n'est pas strictement nécessaire non plus; pour le prix de 4 octets, nous économisons l'analyse de l'entrée 3 fois de plus.la source