Défi
Étant donné une chaîne et un nombre, divisez la chaîne en autant de parties de taille égale. Par exemple, si le nombre est 3, vous devez diviser la chaîne en 3 morceaux, quelle que soit sa longueur.
Si la longueur de la chaîne ne se divise pas également en nombre fourni, vous devez arrondir la taille de chaque pièce et renvoyer une chaîne "restante". Par exemple, si la longueur de la chaîne d'entrée est 13 et le nombre est 4, vous devez renvoyer quatre chaînes de taille 3 chacune, plus une chaîne restante de taille 1.
S'il n'y a pas de reste, vous ne pouvez tout simplement pas en renvoyer un ou renvoyer la chaîne vide.
Le nombre fourni est garanti inférieur ou égal à la longueur de la chaîne. Par exemple, l'entrée "PPCG", 7
ne se produira pas car elle "PPCG"
ne peut pas être divisée en 7 chaînes. (Je suppose que le bon résultat serait (["", "", "", "", "", "", ""], "PPCG")
. Il est plus facile de simplement refuser cela comme entrée.)
Comme d'habitude, les E / S sont flexibles. Vous pouvez renvoyer une paire de chaînes et la chaîne restante, ou une liste de chaînes avec le reste à la fin.
Cas de test
"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")
Notation
C'est le golf de code , donc la réponse la plus courte dans chaque langue l'emporte.
Points bonus (pas vraiment 😛) pour que votre solution utilise réellement l'opérateur de division de votre langue.
;⁹/
PPCG
, 7
donc le reste estPPCG