O desafio
Dada uma n x n
matriz de números inteiros comn >= 2
1 2 3 4
e uma lista de números inteiros com exatamente 2n
elementos
[1,2, -3, -1]
produzir a matriz girada. Essa matriz é construída da seguinte maneira:
- Pegue o primeiro número inteiro na lista e gire a primeira linha para a direita com esse valor.
- Pegue o próximo número inteiro e gire a primeira coluna para baixo por esse valor.
- Pegue o próximo número inteiro e gire a segunda linha para a direita por esse valor, etc. até você girar todas as linhas e colunas da matriz uma vez.
A lista pode conter números inteiros negativos, o que significa que você desloca a linha / coluna para a esquerda / para cima em vez de para a direita / para baixo. Se o número inteiro for zero, não gire a linha / coluna.
Exemplo usando a entrada acima
Elemento de lista Matriz Explicação -------------------------------------------------- ---------- 1 2 1 Gire a 1ª linha para a direita 1 3 4 2 2 1 Gire a 1ª coluna para baixo 2 3 4 -3 2 1 Gire a 2ª linha deixada por 3 4 3 -1 2 3 Gire a 2ª coluna para cima 1 4 1
Regras
- Você pode escolher o formato de entrada mais conveniente. Apenas deixe claro qual deles você usa.
- Função ou programa completo permitido.
- Regras padrão para entrada / saída.
- Aplicam-se brechas padrão .
- Isso é código-golfe , portanto, a menor contagem de bytes vence. O desempatador é uma inscrição anterior.
Casos de teste
O formato de entrada aqui é uma lista de listas para a matriz e uma lista normal para os números inteiros.
[[1,2], [3,4]], [1,2, -3, -1] -> [[2,3], [4,1]] [[1,2], [3,4]], [1,1,1,1] -> [[3,2], [4,1]] [[1,2], [3,4]], [0,0,0,0] -> [[1,2], [3,4]] [[1,2, -3], [- 4,5,6], [7, -8,0]], [1, -2,0, -1,3,4] -> [[7, 5,0], [- 3, -8,2], [- 4,1,6]] [[1,2, -3], [- 4,5,6], [7, -8,0]], [3,12, -3,0, -6, -3] -> [[1 , 2, -3], [- 4,5,6], [7, -8,0]]
Feliz codificação!