Votre tâche consiste à écrire un programme qui, étant donné un tableau et un numéro, vous devez diviser le tableau en morceaux dont la taille est le numéro.
Règles
Votre programme recevra un tableau A
, ainsi qu'un entier positif n
. Le tableau doit ensuite être divisé en morceaux de longueur n
, si la longueur de la chaîne n'est pas divisible par un n
reste à la fin doit être considérée comme son propre morceau.
Si
n
est supérieur à la longueur du tableauA
, vous devrez renvoyer le tableauA
, par exemple: sin = 4
etarray A = [1,2,3]
, vous devez retourner[1,2,3]
Le tableau peut contenir n'importe quel type plutôt que nombre.
Vous ne devez pas changer l'ordre (ou la direction) d'un article de gauche à droite. Par exemple
if n = 2
etA= [1,2,3]
. Tout résultat plutôt que[[1,2],[3]]
sera invalide.
Cas de test
n A Output
2 [1,2,3,4,5,6] [[1,2],[3,4],[5,6]]
3 [1,2,3,4,5,6] [[1,2,3],[4,5,6]]
4 [1,2,3,4,5,6] [[1,2,3,4],[5,6]]
Il s'agit de code-golf , vous serez donc le gagnant des octets les plus courts de chaque langue.
la source
n
est supérieur à la durée duA
retour, nousA
devons‽ Êtes-vous sûr de ne pas vouloir dire[A]
?n
devrait revenir[A]
, par exemple[[1,2,3]]
. Et sin
est exactement la longueur deA
?A
plutôt que[A]
, ce qui exclurait énormément de langues.Réponses:
05AB1E , 1 octet
Essayez-le en ligne ou vérifiez tous les cas de test .
Builtins ftw. :)
la source
JavaScript (ES6), 36 octets
Prend l'entrée comme
(n)(array)
.Essayez-le en ligne!
Commenté
la source
APL (Dyalog Unicode) , 12 octets SBCS
Un grand merci à Adám pour avoir fait pratiquement tout le golf (et pour pratiquement toutes les connaissances APL que j'ai actuellement> _>).
Explication
Exécution
Arguments
2
,1 2 3 4 5 6 7
. Notez que les tableaux APL sont de la formea b c
, avec des parenthèses environnantes facultatives.Essayez-le en ligne!
la source
Python 3 , 61 octets
Essayez-le en ligne!
Modifie la solution Python 3 existante de Henry T pour produire une sortie valide pour n> = len (A).
Publication comme sa propre réponse en raison du manque de privilèges de commentaire.
la source
Prolog (SWI) ,
908461 octetsCode:
Le format d'entrée peut être un peu bizarre, mais c'est:
Par exemple, pour l'entrée:
Vous auriez besoin d'utiliser
[1, 2, 3, 4, 5, 6] * 2 * Result.
.Essayez-le en ligne!
Version non golfée:
Essayez-le en ligne! .
la source
PHP, 15 octets
nécessite PHP 7. Appelez avec
$f(ARRAY, N)
.la source
Perl 6 , 13 octets
Essayez-le en ligne!
Fonction curry enveloppant le
batch
intégré.la source
;
après le code Whats?;
lors du passage d'arguments avec$^a
ou@_
.Nettoyer , 54 octets
Essayez-le en ligne!
la source
Python 2 , 39 octets
Essayez-le en ligne!
Suppose que 1 bloc par ligne est une sortie acceptable.
la source
Brainfuck, 71 octets
Ne sais pas si cela compte ou non ... format d'entrée:
Prend l'entrée et place un espace à chaque fois que les
n
personnages passentExplication (pas de virgule car cela casserait le programme):
la source
,
plus) est plus utilisée, elle pourrait être placée dans une cellule plus facile d'accès que si elle était placée dans d'autres cellules) ou utilisez un bruteforcer. Je ne suis pas qualifié pour jouer au golf à BF, donc ces suggestions peuvent ne pas être utiles.n n n A space
ma configuration de cellule, si vous pouvez penser à une meilleure façon ...A space n n n ...
fonctionner (ouspace A n n n...
)?Python 3, 46 caractères
-1 merci à @Collin Phillips.
Essayez-le en ligne!
la source
CJam , 3 octets
Il s'agit d'un bloc anonyme qui prend un tableau de nombres et un numéro de la pile et les remplace par un tableau de tableaux.
Essayez-le en ligne!
la source
Brachylog , 2 octets
Essayez-le en ligne!
la source
Elixir , 16 octets
Essayez-le en ligne!
la source
Fusain , 1 octet
Essayez-le en ligne! Les E / S par défaut de Charcoal rendent difficile la démonstration de l'utilisation de tout sauf des chaînes. Si vous voulez un programme complet qui prend des listes numériques et génère des listes formatées, cela peut être fait comme suit:
Essayez-le en ligne! Le lien est vers la version détaillée du code. Explication:
la source
C # (Visual C # Interactive Compiler) ,
787743 octetsEssayez-le en ligne!
Je pense que nous devrions être capables d'écrire simplement
int i;
parce que 0 est la valeur par défaut de int. Je l' ai laissé pour éviter l'erreur:error CS0165: Use of unassigned local variable 'i'
.la source
F # (.NET Core) , 15 octets
Essayez-le en ligne!
Eh bien F # a une fonction intégrée ...
la source
J , 4 octets
Essayez-le en ligne!
Prend le tableau comme argument gauche et la taille de bloc comme argument droit.
Utilise un crochet dyadique et l' adverbe infixe avec un argument négatif, ce qui fait ce que nous voulons par définition.
Remarque: Le type de retour doit être encadré car J n'autorise que les tables d'éléments de taille égale.
la source
Japt , 2 octets
Essayez-le en ligne!
la source
PHP , 45 octets
Essayez-le en ligne!
la source
array_chunk
une réponse valable?Java 10,
10680 octetsImprime les morceaux sans délimiteur.
Essayez-le en ligne.
106 octets:
Retourne en fait une liste de listes.
Essayez-le en ligne.
Explication:
la source
K (oK) , 10 octets
Essayez-le en ligne!
la source
Rubis , 25 octets
Essayez-le en ligne!
Si nous pouvons renvoyer des énumérateurs au lieu de tableaux, cela devient simplement:
Rubis , 21 octets
Essayez-le en ligne!
la source
PicoLisp ,
7574 octetsEssayez-le en ligne!
la source
Noix de coco , 8 octets
Essayez-le en ligne!
la source
V , 6 octets
Essayez-le en ligne!
Hexdump:
Explication:
la source
Clojure, 14 octets
builtins je suppose
la source
Haskell , 26 octets
Voici une version plus intéressante, avec juste quelques octets de plus (merci à nimi pour cinq octets dans chaque solution):
Haskell , 31 octets
Essayez-le en ligne!
la source
n!x=take n x:n!drop n x
.Data.Lists
fournit égalementchunksOf
.PowerShell ,
6765 octets-2 octets merci AdmBorkBork
Essayez-le en ligne!
la source
rv b
(alias pourRemove-Variable
) au lieu d'$b=@()
enregistrer deux octets.Gelée , 1 octet
Essayez-le en ligne!
Bien que l'imprimante donne l'impression que les séparations à un seul élément ne sont pas regroupées dans des listes, elles le sont en réalité.
la source