HackerRank: Separate the Numbers

En este post te voy a explicar como puedes resolver el problema Separate the Numbers de HackerRank usando Scala.

Primeros pasos.

El code challenge es parte de la plataforma HackerRank. Necesitas validar que un número en concreto sea bello, o no.

Una numero se considera bello si todos los elementos que lo conforman pueden convertirse en una secuencia incremental donde se tiene una separación de uno. Ejemplo:

  • 12345 → Es bello porque sus elementos pueden dividirse en una secuencia.
  • 10203 → No es bello porque los números 02 y 03 no pueden considerarse 2 y 3.
  • 1112132 → No es bello porque queda un remanente de 2 al final.
  • 01234 → No es bello porque el cero no puede emplearse para construir una secuencia.
  • 90071992547409929007199254740993 → Produce 9007199254740992 y 9007199254740993, es bello.

Cosas a tener en cuenta.

  • El problema utiliza números demasiado largos, Int puede no ser suficiente.
  • Se necesitan al menos dos números para considerar una secuencia.
  • El problema no retorna valores, usa el stdout. Necesitarás remover las escrituras de consola que empleas para debug.
  • Deje comentados varios println, para que puedas entender mejor el problema.

Ejemplo.

 

 

 

 

Gustavo Sánchez
Últimas entradas de Gustavo Sánchez (ver todo)

Soy especialista en escribir software de calidad. Mediante el uso de marcos de trabajo, técnicas y automatización de procesos he podido reducir los costes operativos de los sistemas de la empresa. Sistemas confiables y adaptables producen clientes felices.