Reto
Dada una cadena y un número, divida la cadena en tantas partes del mismo tamaño. Por ejemplo, si el número es 3, debe dividir la cadena en 3 partes, independientemente de su longitud.
Si la longitud de la cadena no se divide de manera uniforme en el número proporcionado, debe redondear el tamaño de cada pieza y devolver una cadena "restante". Por ejemplo, si la longitud de la cadena de entrada es 13 y el número es 4, debe devolver cuatro cadenas cada una de tamaño 3, más una cadena restante de tamaño 1.
Si no hay resto, simplemente no puede devolver uno o devolver la cadena vacía.
Se garantiza que el número proporcionado será menor o igual que la longitud de la cadena. Por ejemplo, la entrada "PPCG", 7
no ocurrirá porque "PPCG"
no se puede dividir en 7 cadenas. (Supongo que el resultado correcto sería (["", "", "", "", "", "", ""], "PPCG")
. Es más fácil simplemente no permitir esto como entrada).
Como de costumbre, la E / S es flexible. Puede devolver un par de cadenas y la cadena restante, o una lista de cadenas con el resto al final.
Casos de prueba
"Hello, world!", 4 -> (["Hel", "lo,", " wo", "rld"], "!") ("!" is the remainder)
"Hello, world!", 5 -> (["He", "ll", "o,", " w", "or"], "ld!")
"ABCDEFGH", 2 -> (["ABCD", "EFGH"], "") (no remainder; optional "")
"123456789", 5 -> (["1", "2", "3", "4", "5"], "6789")
"ALABAMA", 3 -> (["AL", "AB", "AM"], "A")
"1234567", 4 -> (["1", "2", "3", "4"], "567")
Tanteo
Este es el código de golf , por lo que gana la respuesta más corta en cada idioma.
Los puntos de bonificación (no realmente 😛) para hacer que su solución realmente use el operador de división de su idioma.
;⁹/
PPCG
, agregue un caso de prueba , 7
por lo que el resto esPPCG