Dada uma sequência, você deve dividi-la em grupos de três caracteres (preenchendo
_
no final).Relacionado , mas ainda assim é diferente.
E / S de amostra:
'abcde' -> 'abc', 'de_'
'1234' -> '123', '4__'
'' -> [] or falsey value
'Three spree!' -> 'Thr', 'ee ', 'spr', 'ee!'
Este é um código de golfe , portanto, o menor número de bytes vencerá!
Edit: Finalmente, a saída é irrestrita .
Respostas:
05AB1E ,
98 bytesExperimente online! ou como um conjunto de testes
Explicação
fonte
Python 3,
58 4734 bytesTenho certeza que alguém pode fazer melhor.Alguém fez melhor. Obrigado Jo King por-11-24 bytes!A saída é irrestrita, bem-vindo ao tuple inferno. Retorna lista vazia ( falsy ) na entrada vazia
TIO
fonte
JavaScript, 25 bytes
Tente
fonte
Perl 5 ,
1615 bytesExperimente online!
fonte
"@_\__"=~/.../g
. Havia outros 16s:(pop.__)=~/.../g
oumap/.../g,pop.__
.APL + WIN
36 2422 bytes12 bytes salvos como resultado da saída sendo agora restrita e usando o código no primeiro comentário de @ Adám modificado para funcionar em APL + WIN e mais 2 com seu segundo comentário. Obrigado.
Solicita a entrada da sequência e gera o resultado como uma matriz nx3
Experimente online! Cortesia de Dyalog Classic
fonte
''
, não? Eu acho que OP (por algum motivo estranho) exige que o resultado seja0
(com qualquer classificação).JavaScript,
51 50 48 2725Experimente online!
fonte
Perl 6 , 19 bytes
Experimente online!
Almofada a cadeia por dois sublinhados e depois divide a cadeia em pedaços de três caracteres. Retorna como uma matriz de objetos Match.
fonte
Japonês , 8 bytes
+1 byte para o caso especial da string vazia. Pode salvar 2 se pudermos escolher nosso personagem de preenchimento.
Tente
fonte
Stax , 7 bytes
Execute e depure
Para uma entrada de sequência vazia, o resultado é uma matriz vazia, que é um valor falsey em stax.
fonte
CJam , 11 bytes
Experimente online!
Para entrada vazia, isso fornece uma string vazia, o que é falso.
Como funciona
fonte
Retina 0.8.2 , 10 bytes
Experimente online! O link inclui casos de teste. Explicação:
Anexe dois
_
s, caso o último grupo precise ser preenchido.Faça a correspondência do maior número possível de grupos de três, produzindo as correspondências em si e não a contagem. (Na Retina 1, isso seria em
L
vez de!
.)fonte
C (gcc) , 67 bytes
Experimente online!
Sempre retorna um valor de falsey (0).
fonte
Wolfram Language (Mathematica) ,
2821 bytes-7: Não requer mais o
False
valor falsy ( ) na entrada vaziaExperimente online!
Leva uma lista de caracteres como entrada. Retorna uma lista de três tuplas de caracteres preenchidos com
Blank
s (_
).3427 bytesExperimente online!
Entrada de string, lista de saída de strings
fonte
Geléia , 9 bytes
Um link monádico que aceita uma lista de caracteres que produz uma lista de listas de caracteres (uma entrada vazia produz uma saída vazia).
Experimente online!
Quão?
Notas:
A
€
é somente necessário para manusear o caso extremo de uma entrada vazio.Um programa completo pode deixar um rasto
”
, mas aqui não podemos fazer isso, pois o comportamento de impressão de um programa completo esmaga tudo.Equivalente 9:
Tente
Alternativa 9:
Tente
fonte
J , 16 bytes
Experimente online!
K (oK) ,
1917 bytes-2 bytes graças a ngn!
Experimente online!
fonte
(0N;3)
->0N 3
Java 10,
116113 bytesExperimente online.
Ou
104101 bytes se uma matriz vazia em vez defalse
for permitida como saída.Experimente online.
Explicação:
fonte
Ruby,
7342 bytesEdit: Como o valor de falsey parece que não é necessário:
fonte
'_'*2
seria suficiente, para o qual um literal'__'
é menor. Mas se você adicionar o preenchimento antecipadamente, simplesmente não corresponderá às peças menores que 3 caracteres, será menor:puts"#{gets}__".scan /.../
. (Note-se que, sem a impressão explícito que é consideradoirb
nãoruby
.)C # (compilador interativo do Visual C #) , 74 bytes
Basta anexar dois sublinhados '_' no final da entrada para garantir que sejam impressos se o comprimento da entrada não for um fator 3.
Experimente online!
fonte
Kotlin , 34 bytes
Experimente online!
fonte
{"${it}___".chunked(3).dropLast(1)}
C (gcc) , 55 bytes
Experimente online!
fonte
\t
) em vez de 10 (\n
) deve estar bem, mas isso não é ponto principalC (clang) ,
1281269467 bytes67 bytes graças a @ceilingcat
Experimente online!
fonte
Bater , 90 bytes
Isso usa os recursos do Bash em vez de uma combinação dos comandos mais tradicionais do shell Bourne mais * nix (que uma versão que eu criei terminou em 205 bytes). Eu trapacei usando a esquiva de adicionar dois caracteres _ à string.
Experimente online!
fonte
PowerShell ,
5835 bytes-23 bytes graças a mazzy .
Experimente online!
fonte
GNU sed , 27 bytes
Experimente online!
Fica um pouco complicado em relação à entrada da string vazia, pois sed não tem significado para um valor falso. Portanto, para lidar com isso, forneço duas interpretações possíveis das regras para validar minha submissão:
UMA. Você essencialmente não fornece nada como entrada, nem mesmo uma nova linha final (como é o caso de todos os exemplos, incluindo o arquivo de 6 Mb).
Uso:
Saída: nada é impresso, porque o sed nem mesmo executa o script sem entrada.
B. Pode-se considerar como valor falso o sed como uma string única, ou seja, retornada apenas quando a entrada for uma string vazia.
Uso:
Resultado:
Prefiro muito mais a primeira interpretação, pois acredito que ela seja a mais próxima da regra pretendida, mas a última ajuda se você executar o script usando esse link TIO.
fonte
JavaScript (Nó Babel) , 45 bytes
Experimente online!
fonte
Gelatina , 10 bytes
Experimente online!
Parece que um 8 ou 9 deve ser possível, mas ainda não o encontrei.
fonte
Anexo ,
3423 bytesExperimente online!
Explicação (desatualizada)
fonte
Carvão , 10 bytes
Experimente online! Link é a versão detalhada do código. Explicação:
fonte
Scala , 31 bytes
Experimente online!
Explicação
fonte
Befunge-93 ,
3029 bytesExperimente online!
Não gera nada para uma entrada vazia; caso contrário, gera seqüências de comprimento 3 separadas por caracteres NUL.
Explicação:
fonte