El reto
En este desafío, debe realizar dos tareas diferentes (pero relacionadas) dependiendo del orden de la entrada.
Su programa recibirá una cadena s
y un número entero n
como entrada y
- dividir
s
en pedazos de longitudn
sis
viene primero. El último elemento será más corto si es necesario. - dividir
s
enn
pedazos de igual longitud sin
viene primero. Silen(s)
no es un múltiplo den
los primeroslen(s) mod n
elementos será uno más largo.
Solo puede tomar esas 2 entradas. s
nunca contendrá solo dígitos.
Notas
- Puede usar el mapeo inverso. Tenga esto en cuenta en su respuesta si lo hace.
s
solo contendrá caracteres ASCII imprimibles (sin líneas nuevas).- No puede utilizar ningún componente incorporado que resuelva esas dos tareas directamente. Todas las demás construcciones están permitidas.
- Tienes que tomar ambos argumentos de la misma fuente.
- Puede tomar los argumentos en una lista ordenada o en cualquier otro formato que indique claramente su orden siempre que no sea ambiguo.
- Puede tomar la entrada como una cadena / secuencia y usar un carácter que no sea una entrada válida (como un nulobyte) para separarlos.
n
siempre será igual o menor que la longituds
y mayor que cero.- Puede generar la lista resultante en cualquier formato razonable siempre que indique claramente las piezas particulares y su orden.
Ejemplo
Entrada: programming, 3
el último elemento contiene solo 2 caracteres, porque 11 no es divisible por 3.
Salida: ["pro", "gra", "mmi", "ng"]
Entrada: 3, programming
11 no es múltiplo de 3, por lo que los 2 primeros elementos serán uno más largo:
Salida: ["prog", "ramm", "ing"]
Reglas
- Función o programa completo permitido.
- Reglas predeterminadas para entrada / salida.
- Se aplican lagunas estándar .
- Este es el código de golf , por lo que gana el conteo de bytes más bajo. Tiebreaker es una presentación anterior.
Casos de prueba
Los casos de prueba se generaron con este programa Pyth (usa incorporados, por lo que no hay una respuesta válida). ¡Gracias a @FryAmTheEggman por proporcionar la versión base de eso!
3, helloworld -> ['infierno', 'owo', 'rld'] helloworld, 3 -> ['hel', 'low', 'orl', 'd'] 1, programación -> ['programación'] programación, 1 -> ['p', 'r', 'o', 'g', 'r', 'a', 'm', 'm', 'i', 'n', 'g'] 8, programación -> ['pr', 'og', 'ra', 'm', 'm', 'i', 'n', 'g'] programación, 8 -> ['programm', 'ing'] 9, código golf -> ['c', 'o', 'd', 'e', '', 'g', 'o', 'l', 'f'] código golf, 9 -> ['código golf'] 4, 133tspeak -> ['133', 'ts', 'pe', 'ak'] 133tspeak, 4 -> ['133t', 'spea', 'k']
¡Feliz codificación!