Desafío:
Tome una lista, L que contenga enteros positivos como entrada:
3 5 2 1 6
y crea una matriz donde la enésima columna contiene el vector 1: L (n) , donde las filas más cortas se rellenan con ceros.
Casos de prueba:
3 5 2 1 6
-----------------
1 1 1 1 1
2 2 2 0 2
3 3 0 0 3
0 4 0 0 4
0 5 0 0 5
0 0 0 0 6
1
-
1
1 2 3 4 3 2 1
-------------------------
1 1 1 1 1 1 1
0 2 2 2 2 2 0
0 0 3 3 3 0 0
0 0 0 4 0 0 0
Reglas:
- Formatos opcionales de entrada y salida.
- La lista de listas es un formato de salida aceptable
- La matriz debe ser lo más pequeña posible (no puede rellenarla con más ceros de los necesarios)
- El código más corto en cada idioma gana
- Las explicaciones son altamente recomendables

Respuestas:
R ,
4038 bytesPruébalo en línea!
Explicación:
outeraplica su tercer argumento (la función) a todas las combinaciones de elementos de sus dos primeros argumentos, generando una matriz deTRUEyFALSEdonde cada columna tieneTRUEdonde1:max(l)es menor o igual que el elemento correspondiente del, por ejemplo, dondel=c(3,5,2,1,6):Luego, suponiendo que la matriz resultante es
A, entoncesA*m->A[i,j]=A[i,j]*ique coaccionaTRUEa 1 yFALSEa 0, produciendo el resultado deseado.fuente
function(l)conl=scan();printpara que perdiera esos bytes.source(...,echo=TRUE)y leer stdin como un programa completo, si tiene una sugerencia alternativa, sopesar allí, pero hasta donde sé, eso es lo más cerca que tenemos a un consenso de R sobre programas completos y se destaca por el momento.MATL , 8 bytes
Pruébalo en línea!
Explicación
fuente
Python 3 , 54 bytes
Pruébalo en línea!
fuente
Mathematica, 20 bytes
Contiene U + F3C7 (
Transposefunción incorporada de Mathematica )Pruébalo en Wolfram Sandbox
Uso
Explicación
fuente
Octava , 26 bytes
Función anónima que ingresa un vector de fila y genera una matriz.
Pruébalo en línea!
Explicación
Considere la entrada
x = [3 5 2 1 6]. Este es un vector de fila de tamaño 1 × 5.1:max(x)da el vector fila[1 2 3 4 5 6], que se asigna a la variabley.La transposición de eso, es decir, el vector de columna
[1; 2; 3; 4; 5; 6], se<=compara (elemento-sabio con difusión) con la entrada[3 5 2 1 6]. El resultado es la matriz 6 × 5Finalmente, multiplicando (elemento-sabio con difusión) por el vector de columna
[1; 2; 3; 4; 5; 6], obtenido comoytranspuesto, da el resultado deseado:fuente
05AB1E , 4 bytes
Pruébalo en línea! o como un conjunto de pruebas bien formateado
fuente
Cáscara , 4 bytes
Devuelve una lista de listas
Pruébalo en línea!
Explicación
fuente
Pyth , 6 bytes
Pruébalo aquí! o Verifique todos los casos de prueba (con letra bonita)!
Explicación
.tSMQZ: programa completo. SMQ: obtenga los rangos unarios inclusivos para cada uno. .t - Transposición, relleno con copias de ... Z - ... Cero. - Impresión implícita.Una versión de transposición no incorporada sería :
Esto funciona de la siguiente manera:
fuente
Jalea , 3 bytes
Pruébalo en línea!
Explicación
fuente
En realidad , 17 bytes
Pruébalo en línea!
Explicación:
fuente
Pyke , 3 bytes
Esto usa la nueva característica de Pyke, codificaciones hexadecimales ... ¡La mejor parte es que vinculamos a Jelly! Bytes sin procesar:
Pruébalo aquí!
El equivalente ASCII-Pyke sería de 4 bytes :
¿Cómo?
4D 53 AC - Programa completo. 4D - Mapa. 53 - Gama inclusiva. AC - Transponer con ceros. - Salida implícita. ------------------------------------- MS., - Programa completo. M - Mapa. S - Gama inclusiva. ., - Transponer con ceros. - Salida implícita.Aquí hay una versión impresa bonita con ASCII, y aquí hay una con codificaciones hexadecimales.
fuente
Perl 6 , 39 bytes
Intentalo
Expandido:
Tenga en cuenta que
ziptermina una vez que se agota la lista de entrada más corta.fuente
C # , 136 bytes
Datos
Int32[]iUna matriz de entradasInt32[,]Una matriz bidimensional.Golfed
Sin golf
Legible sin golf
Código completo
Lanzamientos
136 bytes- Solución inicial.Notas
fuente
C (gcc) , 142 bytes
Pruébalo en línea!
fuente
Java 10, 115 bytes
Explicación:
Pruébalo en línea.
fuente
Perl 5 , 62 + 1 (
-a) = 63 bytesPruébalo en línea!
fuente
Protón , 38 bytes
Pruébalo en línea!
fuente
Añadir ++ , 37 bytes
Pruébalo en línea!
fuente
JavaScript (Node.js) , 55 bytes
Pruébalo en línea!
JavaScript (Node.js) , 63 bytes
Pruébalo en línea!
fuente