Llegó el 2019 y probablemente todos hayan notado la peculiaridad de este número: de hecho, está compuesto por dos subnúmeros (20 y 19) que representan una secuencia de números descendentes consecutivos.
Desafío
Dado un número x
, devuelve la longitud de la secuencia máxima de números consecutivos y descendentes que se pueden formar tomando subnúmeros de x
.
Notas:
- sub-números no pueden contener ceros a la izquierda (por ejemplo,
1009
no se puede dividir en10
,09
) - consecutiva y descendente significa que un número en la secuencia debe ser igual al número anterior -1, o (por ejemplo , no se puede dividir en y porque no son consecutivos )
52
5,2
5
2
2 ≠ 5 - 1
- la secuencia debe ser obtenido utilizando el número completo, por ejemplo, en
7321
que no se puede descartar7
y obtener la secuencia3
,2
,1
- sólo una secuencia puede obtenerse a partir del número, por ejemplo,
3211098
no se puede dividir en dos secuencias3
,2
,1
y10
,9
,8
Entrada
- Un número entero (
>= 0
): puede ser un número, una cadena o una lista de dígitos
Salida
- Un número entero dado el número máximo de sub-números decrecientes (tenga en cuenta que el límite inferior de este número es
1
, es decir, un número está compuesto por sí mismo en una secuencia descendente de longitud uno)
Ejemplos:
2019 --> 20,19 --> output : 2
201200199198 --> 201,200,199,198 --> output : 4
3246 --> 3246 --> output : 1
87654 --> 8,7,6,5,4 --> output : 5
123456 --> 123456 --> output : 1
1009998 --> 100,99,98 --> output : 3
100908 --> 100908 --> output : 1
1110987 --> 11,10,9,8,7 --> output : 5
210 --> 2,1,0 --> output : 3
1 --> 1 --> output : 1
0 --> 0 --> output : 1
312 --> 312 --> output : 1
191 --> 191 --> output : 1
Reglas generales:
- Este es el código de golf , por lo que la respuesta más corta en bytes gana.
No permita que los lenguajes de código de golf lo desalienten de publicar respuestas con idiomas que no sean de código. Trate de encontrar una respuesta lo más breve posible para 'cualquier' lenguaje de programación. - Las reglas estándar se aplican a su respuesta con las reglas de E / S predeterminadas , por lo que puede usar STDIN / STDOUT, funciones / método con los parámetros adecuados y programas completos de tipo retorno. Tu llamada.
- Las lagunas predeterminadas están prohibidas.
- Si es posible, agregue un enlace con una prueba para su código (es decir, TIO ).
- Además, se recomienda agregar una explicación para su respuesta.
210 -> 2,1,0
mal el caso de prueba (lo mismo con0 -> 0
)? La tarea dice "los subnúmeros no pueden contener ceros a la izquierda ", ¿es cero un caso especial?212019
. Parece que no leí todas las reglas.