Tarea
- Tome la cadena de entrada separada por espacio.
- Ordena las palabras alfabéticamente.
- Imprímalos verticalmente en 3 columnas separadas por espacios.
Desafío
- Las alturas de las tres columnas deben tener la mayor ponderación posible.
- Las tres columnas deben dejarse alineadas.
Este es el código de golf , ¡el código más corto gana!
Ejemplo
Si la entrada es:
"cat caterpillar pie frog elephant pizza",
La salida debe ser:
cat elephant pie
caterpillar frog pizza
Tenga cuidado con los casos, si la entrada es:
"a b c d e f g"
Debe imprimirse como:
a c e
b d f
g
# or
a d f
b e g
c
# and not
a d g
b e
c f
Respuestas:
Casco ,
2417 bytesPruébalo en línea!
Explicación
Este fue un desafío sorprendentemente complicado, ya que Husk actualmente carece de una capacidad para dividir una lista en un número dado de partes.
fuente
Jalea , 6 bytes
Pruébalo en línea!
fuente
a b c d e f g
caso, e hice otras pruebas exhaustivas porque también tuve esa sensación primero. Ah, y su brevedad proviene delG
(Formato como G rid.) Incorporado.Python 3 , 148 bytes
-6 bytes gracias a los ovs.
Pruébalo en línea!
Trabajando en eso.Todo lo que he probado hace que la salida sea desigual ...fuente
Mathematica, 115 bytes
pruébalo en el sandbox de wolfram
pegue el siguiente código y presione shift + enter
fuente
Perl 5 , 134 + 1 (
-a
) = 135 bytesPruébalo en línea!
fuente
05AB1E , 8 bytes
Pruébalo en línea!
fuente
Javascript
181175 bytesfuente
J 73 bytes
Puedo explicar este desastre más tarde si alguien está interesado.
Pruébalo en línea!
fuente
Carbón ,
6564 bytesPruébalo en línea! El enlace es a la versión detallada del código. Ahorre 2 bytes si no tengo que manejar el caso de menos de 3 palabras. Probablemente haya una "evaluación" de clasificación que debería usar ... Explicación:
Dividir la entrada en espacios.
Ordenar la matriz.
Pase por tres cortes aproximadamente iguales de la matriz. (
I1
realmente debería ser¦¹
)Une el corte con líneas nuevas e imprímelo sin mover el cursor.
Si el segmento no está vacío, muévase a la derecha uno más que la longitud de la palabra más larga del segmento.
fuente
358 bytes de JS minificado:
fuente
GNU sed , 92 + 1 = 93 bytes
+1 bytes para la
-r
bandera.No he jugado al golf en absoluto, pero resultó ser mucho más simple de lo que esperaba.
Pruébalo en línea!
fuente
Bourne shell, 172 bytes
Es más legible si se formatea de manera convencional:
Al precio de escanear la entrada una vez por columna, no utiliza matrices. Un programa awk más complejo podría abrir 3 archivos (uno por cada enésima palabra), procesando la entrada de una sola vez. Luego podrían ser concatenados e impresos utilizando la misma última línea.
La variable
N
tampoco es estrictamente necesaria; por el precio de 4 bytes, ahorramos escaneando la entrada 3 veces más.fuente