Dada una cadena, debe dividirla en grupos de tres caracteres (rellenando
_
al final).Relacionado , pero aún así es diferente.
Muestra de E / S:
'abcde' -> 'abc', 'de_'
'1234' -> '123', '4__'
'' -> [] or falsey value
'Three spree!' -> 'Thr', 'ee ', 'spr', 'ee!'
Este es un código de golf , ¡por lo que ganarán menos bytes!
Editar: Finalmente, la salida no está restringida .
Respuestas:
05AB1E ,
98 bytesPruébalo en línea! o como un conjunto de pruebas
Explicación
fuente
Pitón 3,
58 4734 bytesEstoy seguro de que alguien más puede hacerlo mejor.Alguien más lo hizo mejor. Gracias Jo King para-11-24 bytes!La producción no tiene restricciones, bienvenido a Tuple Hell. Devuelve la lista vacía ( false ) en la entrada vacía
TIO
fuente
JavaScript, 25 bytes
Intentalo
fuente
Perl 5 ,
1615 bytesPruébalo en línea!
fuente
"@_\__"=~/.../g
. Hubo otros 16:(pop.__)=~/.../g
omap/.../g,pop.__
.APL + WIN
36 2422 bytes12 bytes guardados como resultado de la salida ahora restringida y usando el código en el primer comentario de @Adám modificado para trabajar en APL + WIN y otros 2 con su segundo comentario. Gracias.
Solicita la entrada de la cadena y genera el resultado como una matriz nx3
Pruébalo en línea! Cortesía de Dyalog Classic.
fuente
''
, ¿no? Creo que OP (por alguna extraña razón) requiere que el resultado sea0
(con cualquier rango).JavaScript,
51 50 48 2725Pruébalo en línea!
fuente
Perl 6 , 19 bytes
Pruébalo en línea!
Rellena la cadena con dos guiones bajos y luego la divide en trozos de tres caracteres. Devuelve como una matriz de objetos Match.
fuente
Japt , 8 bytes
+1 byte para el caso especial de la cadena vacía. Puede guardar 2 si podemos elegir nuestro carácter de relleno.
Intentalo
fuente
Stax , 7 bytes
Ejecutar y depurarlo
Para una entrada de cadena vacía, el resultado es una matriz vacía, que es un valor falsey en stax.
fuente
CJam , 11 bytes
Pruébalo en línea!
Para una entrada vacía, esto da una cadena vacía, que es falsa.
Cómo funciona
fuente
Retina 0.8.2 , 10 bytes
Pruébalo en línea! El enlace incluye casos de prueba. Explicación:
Agregue dos
_
s, en caso de que el último grupo necesite ser rellenado.Haga coincidir tantos grupos de tres como sea posible, generando las coincidencias en lugar de la cuenta. (En Retina 1 esto sería en
L
lugar de!
).fuente
C (gcc) , 67 bytes
Pruébalo en línea!
Siempre devuelve un valor de falsey (0).
fuente
Wolfram Language (Mathematica) ,
2821 bytes-7: ya no requiere el
False
valor falso ( ) en la entrada vacíaPruébalo en línea!
Toma una lista de caracteres como entrada. Devuelve una lista de 3 tuplas de caracteres rellenados con
Blank
s (_
).3427 bytesPruébalo en línea!
Entrada de cadena, lista de salida de cadenas
fuente
Jalea , 9 bytes
Un enlace monádico que acepta una lista de caracteres que produce una lista de listas de caracteres (una entrada vacía produce una salida vacía).
Pruébalo en línea!
¿Cómo?
Notas:
El
€
solo es necesario para manejar el caso de borde de una entrada vacía.Un programa completo puede dejar un final
”
, pero aquí no podemos hacerlo, ya que el comportamiento de impresión de un programa completo rompe todo junto.Equivalente 9:
Intentalo
Alternativa 9:
Intentalo
fuente
J , 16 bytes
Pruébalo en línea!
K (oK) ,
1917 bytes-2 bytes gracias a ngn!
Pruébalo en línea!
fuente
(0N;3)
->0N 3
Java 10,
116113 bytesPruébalo en línea.
O
104101 bytes sifalse
se permite una matriz vacía en lugar de como salida.Pruébalo en línea.
Explicación:
fuente
Ruby,
7342 bytesEditar: como parece que el valor falsey no es obligatorio:
fuente
'_'*2
lo que sería suficiente, para lo cual un literal'__'
es más corto. Pero si se agrega el relleno de antemano entonces simplemente no coincide con las piezas de menos de 3 caracteres, es más corto:puts"#{gets}__".scan /.../
. (Tenga en cuenta que sin la impresión explícita que se considerairb
noruby
.)C # (compilador interactivo de Visual C #) , 74 bytes
Simplemente agregue dos guiones bajos '_' al final de la entrada para asegurarse de que se impriman si la longitud de la entrada no es un factor de 3.
Pruébalo en línea!
fuente
Kotlin , 34 bytes
Pruébalo en línea!
fuente
{"${it}___".chunked(3).dropLast(1)}
C (gcc) , 55 bytes
Pruébalo en línea!
fuente
\t
) en lugar de 10 (\n
) debería estar bien, pero ese no es el punto principalC (sonido metálico) ,
1281269467 bytes67 bytes gracias a @ceilingcat
Pruébalo en línea!
fuente
Golpetazo , 90 bytes
Esto utiliza las funciones de Bash en lugar de una combinación de comandos Bourne shell más * nix más tradicionales (cuya versión que creé terminó en 205 bytes). Hice trampa al usar la evasión de agregar dos caracteres _ a la cadena.
Pruébalo en línea!
fuente
PowerShell ,
5835 bytes-23 bytes gracias a mazzy .
Pruébalo en línea!
fuente
GNU sed , 27 bytes
Pruébalo en línea!
Se vuelve un poco complicado con respecto a la entrada de cadena vacía, ya que sed no tiene significado de un valor falso. Entonces, para lidiar con esto, le proporciono dos posibles interpretaciones de las reglas para validar mi presentación:
A. Usted esencialmente no proporciona nada como entrada, ni siquiera una nueva línea final (como es el caso con todos los ejemplos, incluido ese archivo de 6 Mb).
Uso:
Salida: no se imprime nada, porque sed ni siquiera ejecuta el script sin entrada.
B. Uno podría considerar como valor falso para sed como una cadena única, es decir, devuelta solo cuando la entrada es una cadena vacía.
Uso:
Salida:
Prefiero la primera interpretación mucho más, ya que creo que es la más cercana a la regla prevista, pero la última ayuda si ejecuta el script utilizando ese enlace TIO.
fuente
JavaScript (nodo de Babel) , 45 bytes
Pruébalo en línea!
fuente
Jalea , 10 bytes
Pruébalo en línea!
Parece que un 8 o 9 debería ser posible, pero aún no he encontrado uno.
fuente
Agregado ,
3423 bytesPruébalo en línea!
Explicación (obsoleta)
fuente
Carbón de leña , 10 bytes
Pruébalo en línea! El enlace es a la versión detallada del código. Explicación:
fuente
Scala , 31 bytes
Pruébalo en línea!
Explicación
fuente
Befunge-93 ,
3029 bytesPruébalo en línea!
No genera nada para una entrada vacía; de lo contrario, genera cadenas de longitud 3 separadas por caracteres NUL.
Explicación:
fuente