Dada uma lista de números inteiros L
e um número inteiro N
, a saída L
dividida em N
sublistas de comprimento igual.
Comprimentos não divisíveis
Se N
não divide o comprimento de L
, então não é possível que todas as sublistas tenham o mesmo comprimento.
De qualquer forma, a última sub-lista da saída é a que adapta seu comprimento para conter o restante da lista.
Isso significa que todas as sublistas de, L
exceto a última, devem ter comprimento length(L) // N
, onde //
está a divisão com piso (por exemplo 3//2 = 1
).
Algumas regras
L
pode estar vazio.N >= 1
.Você pode usar qualquer built-in que desejar.
Você pode levar a entrada por meio de
STDIN
, como argumento de função, ou algo semelhante.Você pode imprimir a saída
STDOUT
, retorná-la de uma função ou algo semelhante.Você pode escolher qualquer formato para as listas e o número inteiro, desde que seja a representação mais natural de listas e números inteiros no seu idioma.
Casos de teste
Input: [1,2,3,4], 2
Output: [[1,2],[3,4]]
Input: [-1,-2,3,4,-5], 2
Output: [[-1,-2],[3,4,-5]]
Input: [1,2,3,4], 1
Output: [[1,2,3,4]]
Input: [4,8,15,16,23,42], 5
Output: [[4],[8],[15],[16],[23,42]]
Input: [4,8,15,16,23,42], 7
Output: [[],[],[],[],[],[],[4,8,15,16,23,42]]
Input: [2,3,5,7,11,13,17,19,23], 3
Output: [[2,3,5],[7,11,13],[17,19,23]]
Input: [], 3
Output: [[],[],[]]
Input: [1,2,3,4,5,6,7,8], 3
Output: [[1,2],[3,4],[5,6,7,8]]
Pontuação
Isso é código-golfe , então a resposta mais curta em bytes vence.