Desafío:
Dada una cadena s
en los caracteres a
- z
, A
- Z
, 0
- 9
, agregue la longitud de s
sí mismo, contando los caracteres adicionales en la longitud como parte de la longitud total de s
.
Entrada:
Solo una cadena de longitud arbitraria (puede estar vacía).
Salida:
La misma cadena, pero con su longitud añadida al final. Los caracteres que representan la longitud también deben contarse como parte de la longitud. En los casos en que haya varias longitudes válidas para agregar, elija la más pequeña posible (consulte los casos de prueba para ver ejemplos).
Casos de prueba:
INPUT -> OUTPUT // Comment
aaa -> aaa4
-> 1 // Empty string
aaaaaaaa -> aaaaaaaa9 // aaaaaaaa10 would also normally be valid, but violates using the smallest number rule mentioned above
aaaaaaaaa -> aaaaaaaaa11
a1 -> a13 // Input can contain numbers at the end of the string, you do not have to handle the fact that it looks like 13 rather than 3.
Longer test case(s):
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -> aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa101
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -> aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa102
Reglas:
Este es el código de golf , por lo que gana el código más corto en bytes. Las lagunas estándar están prohibidas. Los envíos pueden ser un programa completo o una función, y puede imprimir el resultado en stdout o devolverlo como una variable desde una función.
fuente
Respuestas:
Pyth - 7 bytes
Pruébelo en línea aquí .
fuente
JavaScript (ES6), 32 bytes
Cómo funciona
Comenzando con
N=0
, probamos el enésimo carácter (basado en 0) de la cadena hecha de la concatenación de la cadena de entrada original y la representación decimal deN
. IncrementamosN
hasta que este personaje ya no exista.Ejemplo:
Casos de prueba
Mostrar fragmento de código
fuente
LaTeX, 108/171
\q[] //1
fuente
JavaScript (ES6), 37 bytes
fuente
Run Code Snippet
un mensaje de error. No tengo conocimiento de Javascript - Solo estaba intentandoVersion 48.0.2564.97
). Intentaré esto con IE también. No puedo actualizar mi Chrome - problemas de seguridad de la oficinaC,
676561 bytesCaja de varitas
fuente
Lua 5.2, 32 bytes
Donde la variable a es la cadena de entrada.
fuente
Pyke, 8 bytes ( versión anterior )
Explicación:
Pruébalo aquí! (Nueva versión, 9 bytes)
fuente
Python 2,
544846 bytesSolución simple. La recursión terminó siendo más corta.
Pruébalo en línea
fuente
(s+`n`)[n:]
paran<len(s+`n`)
.Haskell, 46 bytes
Ejemplo de uso:
f "aaaaaaaa"
->"aaaaaaaa9"
.Simplemente pruebe todos los números que comienzan con 0 y tome el primero que encaje.
fuente
Mathematica, 57 bytes
Función sin nombre que toma una matriz de caracteres como entrada y devuelve una cadena. Utiliza el hecho de que si
a
es la longitud de la entrada, entonces el número a agregar a la entrada esa
más el número de dígitos en (a
+ la longitud dea
), en lugar de simplementea
más el número de dígitos dea
. Desafortunadamente, no daría la respuesta correcta para la entrada de cadena vacía sin el~Max~1
caso especial.fuente
Brachylog , 13 bytes
Pruébalo en línea!
Explicación
Básicamente una descripción del problema. Intentará cada valor
L
mayor que la longitud de la entrada hasta que encuentre uno para el cual, cuando se concatena con la entrada, sea la longitud de esa concatenación.fuente
Brainfuck, 258 bytes
La entrada debe ser terminada por un salto de línea (LF). Solo funciona para entradas con una longitud inferior a 256 (incluido el LF).
Pruébalo en línea!
Explicación
Nota: Utilicé el código de esta respuesta SO para convertir la longitud en salida ASCII; Espero que esto sea aceptable en PPCG. Esta es mi primera presentación de Codegolf y mi segundo programa BF. La retroalimentación es bienvenida.
fuente
Retina , 22 bytes
Pruébalo en línea!
Ah, bueno, si no fuera por los dígitos que aparecen en la entrada, esto sería solo 11 bytes:
fuente
Ruby,
625856 bytesProbado en
irb
.Probablemente haya una mejor manera de hacer esto, pero esto fue lo primero que se me ocurrió. Cualquier ayuda en el golf sería apreciada.
editar: me di cuenta de que mi uso de paréntesis era excesivo.
fuente
l
en un lugar. Si lo incluye, ahorrará 3 bytesl=;
. Pero su solución aún será más larga que la mía;)Perl 6 ,
4635 bytesIntentalo
Expandido:
fuente
05AB1E , 11 bytes
Fuerza bruta bastante sencilla:
Pruébalo en línea!
fuente
Python, 39 bytes
Forma más larga:
Iterativamente en Python 2 (41 bytes):
Comenzando con
x
la cadena de entradaa
, aplica la transformaciónx -> a + str(len(x))
tres veces. Todavía no estoy claro por qué se necesitan tres aplicaciones para llegar siempre al punto fijo.fuente
PHP, 42 bytes
Corre con
-r
. Prueba en OnlinePHPfunctions .fuente
bash, 47 bytes
Guarde esto como un script y pase la cadena de entrada como argumento.
Es una implementación de fuerza bruta: pruebe cada número por turno hasta que encuentre uno que funcione.
fuente
> <> (Pescado) 35 bytes
Toma datos en la pila, comprueba la longitud con los valores 9,99,999 ... y si la longitud es mayor que agregue 1 a la longitud de la pila.
fuente
Haskell ,
6160 bytesPruébalo en línea!
Solución recursiva. Uso:
fuente
C #, 77 bytes
fuente
return(n+(a+1+c))
comoa=n.Length
?-1
desdeint c=(a+1).ToString().Length-1
y+1
desde el regreso?aa...a100
lugar del caso de pruebaaa...a101
99a
.MATL , 11 bytes
Pruébalo en línea! O verificar todos los casos de prueba .
fuente
Ruby, 51 bytes (programa)
Ruby, 49 bytes (función)
Programa (la última línea nueva no es necesaria y, por lo tanto, no tiene puntaje):
Función (se puntúa la última línea nueva):
fuente
Factor, 55 bytes
¡Es un paseo por el parque! Se me ocurrió esto en mi cabeza tan pronto como leí la pregunta.
fuente
Clojure, 72 bytes
fuente
R, 49 bytes
Solución bastante sencilla.
fuente
Read 1 item Error in nchar(x + 1) : object 'x' not found
. Descubrí que(t<-nchar(a))+...
sí funcionó.Wolfram, 56
Dado
l = StringLength[x]
que añadel + IntegerLength[l + IntegerLength[l]]
ax
.fuente
Laberinto ,
484541 bytesPruébalo en línea!
Guardado 4 bytes agradecidos a @Martin Ender
fuente
ForceLang, 83 bytes
fuente