O desafio
Neste desafio, você deve executar duas tarefas diferentes (mas relacionadas), dependendo da ordem da entrada.
Seu programa receberá uma string s
e um número inteiro n
como entrada e
- divida
s
em pedaços de comprimenton
ses
vier primeiro. O último elemento será mais curto, se necessário. - separe
s
emn
pedaços de igual comprimento sen
vier primeiro. Selen(s)
não for um múltiplo dosn
primeiroslen(s) mod n
elementos, será um mais longo.
Você pode pegar apenas essas 2 entradas. s
nunca conterá apenas dígitos.
Notas
- Você pode usar o mapeamento reverso. Observe isso na sua resposta se você fizer isso.
s
conterá apenas caracteres ASCII imprimíveis (sem novas linhas).- Você não pode usar nenhum componente interno que resolva essas duas tarefas diretamente. Todos os outros builtins são permitidos.
- Você precisa usar os dois argumentos da mesma fonte.
- Você pode levar os argumentos em uma lista ordenada ou em qualquer outro formato que indique claramente a ordem deles, desde que não seja ambígua.
- Você pode pegar a entrada como uma sequência / fluxo e usar um caractere que não é válido (como um nulo) para separá-los.
n
sempre será igual ou menor que o comprimentos
e maior que zero.- Você pode produzir a lista resultante em qualquer formato razoável, desde que indique claramente as partes específicas e sua ordem.
Exemplo
Entrada: programming, 3
O último elemento contém apenas 2 caracteres, porque 11 não é divisível por 3.
Saída: ["pro", "gra", "mmi", "ng"]
A entrada: 3, programming
11 não é um múltiplo de 3; portanto, os 2 primeiros elementos serão um mais longo:
Saída: ["prog", "ramm", "ing"]
Regras
- Função ou programa completo permitido.
- Regras padrão para entrada / saída.
- Aplicam-se brechas padrão .
- Isso é código-golfe , e a menor contagem de bytes vence. O desempatador é uma inscrição anterior.
Casos de teste
Os casos de teste foram gerados com este programa Pyth (usa builtins, portanto, nenhuma resposta válida). Obrigado a @FryAmTheEggman por fornecer a versão base disso!
3, helloworld -> ['inferno', 'owo', 'rld'] helloworld, 3 -> ['hel', 'low', 'orl', 'd'] 1, programação -> ['programação'] programação, 1 -> ['p', 'r', 'o', 'g', 'r', 'a', 'm', 'm', 'i', 'n', 'g'] 8, programação -> ['pr', 'og', 'ra', 'm', 'm', 'i', 'n', 'g'] programação, 8 -> ['programm', 'ing'] 9, código golf -> ['c', 'o', 'd', 'e', '', 'g', 'o', 'l', 'f'] código de golfe, 9 -> ['código de golfe'] 4, 133tspeak -> ['133', 'ts', 'pe', 'ak'] 133tspeak, 4 -> ['133t', 'speak', 'k']
Feliz codificação!