Inspirado en Copiado de esta pregunta en Stack Overflow.
Dada una matriz A
, cree una matriz de B
modo que las columnas de A
estén dispuestas en forma de bloque diagonal. Por ejemplo, dado
1 2 3
4 5 6
la salida sería
1 0 0
4 0 0
0 2 0
0 5 0
0 0 3
0 0 6
Reglas
La entrada y la salida pueden estar en forma de matrices 2D, matrices anidadas o cadenas con diferentes separadores para filas y columnas.
Los números en la entrada (matriz A
) serán enteros positivos.
Se permite el formato unario, siempre que los ceros en la salida se muestren de alguna manera razonable. Por ejemplo, el resultado anterior podría mostrarse entre comillas para encerrar cada número:
'1' '' ''
'1111' '' ''
'' '11' ''
'' '11111' ''
'' '' '111'
'' '' '111111'
Casos de prueba
De entrada y salida:
1 2 3
4 5 6
1 0 0
4 0 0
0 2 0
0 5 0
0 0 3
0 0 6
10 20
10 0
0 20
10
20
10
20
1 2 3
10 20 30
100 200 300
1 0 0
10 0 0
100 0 0
0 2 0
0 20 0
0 200 0
0 0 3
0 0 30
0 0 300
2 4
6 8
10 12
2 0
6 0
10 0
0 4
0 8
0 12
fuente