Le défi
Dans ce défi, vous devez effectuer deux tâches différentes (mais liées) en fonction de l'ordre de l'entrée.
Votre programme recevra une chaîne s
et un entier n
en entrée et
- divisé
s
en morceaux de longueurn
sis
vient en premier. Le dernier élément sera plus court si nécessaire. - diviser
s
enn
morceaux de longueur égale sin
vient en premier. Silen(s)
n'est pas un multiple,n
les premierslen(s) mod n
éléments seront un de plus.
Vous ne pouvez prendre que ces 2 entrées. s
ne contiendra jamais que des chiffres.
Remarques
- Vous pouvez utiliser le mappage inverse. Notez cela dans votre réponse si vous le faites.
s
ne contiendra que des caractères ASCII imprimables (pas de nouvelle ligne).- Vous ne pouvez pas utiliser de modules intégrés qui résolvent directement ces deux tâches. Tous les autres buildins sont autorisés.
- Vous devez prendre les deux arguments de la même source.
- Vous pouvez prendre les arguments dans une liste ordonnée ou tout autre format qui indique clairement leur ordre tant qu'il n'est pas ambigu.
- Vous pouvez prendre l'entrée comme une chaîne / flux et utiliser un caractère qui n'est pas une entrée valide (comme un octet nul) pour les séparer.
n
sera toujours égal ou inférieur à la longueur des
et supérieur à zéro.- Vous pouvez sortir la liste résultante dans n'importe quel format résonnant tant qu'elle indique clairement les pièces particulières et leur ordre.
Exemple
Entrée: programming, 3
Le dernier élément ne contient que 2 caractères, car 11 n'est pas divisible par 3.
Sortie: ["pro", "gra", "mmi", "ng"]
Entrée: 3, programming
11 n'est pas un multiple de 3, donc les 2 premiers éléments seront un de plus:
Sortie: ["prog", "ramm", "ing"]
Règles
- Fonction ou programme complet autorisé.
- Règles par défaut pour les entrées / sorties.
- Des échappatoires standard s'appliquent.
- Il s'agit de code-golf , donc le nombre d'octets le plus bas l'emporte. Tiebreaker est une soumission antérieure.
Cas de test
Les cas de test ont été générés avec ce programme Pyth (utilise des fonctions intégrées, donc aucune réponse valide). Merci à @FryAmTheEggman d'avoir fourni la version de base de cela!
3, helloworld -> [«enfer», «owo», «rld»] helloworld, 3 -> ['hel', 'low', 'orl', 'd'] 1, programmation -> ['programmation'] programmation, 1 -> ['p', 'r', 'o', 'g', 'r', 'a', 'm', 'm', 'i', 'n', 'g'] 8, programmation -> ['pr', 'og', 'ra', 'm', 'm', 'i', 'n', 'g'] programmation, 8 -> ['programm', 'ing'] 9, code golf -> ['c', 'o', 'd', 'e', '', 'g', 'o', 'l', 'f'] code golf, 9 -> ['code golf'] 4, 133tspeak -> ['133', 'ts', 'pe', 'ak'] 133tspeak, 4 -> ['133t', 'spea', 'k']
Codage heureux!