En este post te voy a explicar como resolví el challenge: Number Line Jumps de la plataforma Hackerrank con Scala.
Primeros pasos.
El code challenge consiste en averiguar si dadas una posición inicial, y un valor de saltos, dos canguros se encontraran en la misma ubicación, al mismo tiempo.
Tienes 3 variables por cada canguro, posición inicial (initialPosition), pasos (steps) e iteración (iteration). Ejemplo:
Canguro1 → initialPosition = 0, step = 3
Canguro2→ initialPosition = 4, step = 2
Cada iteración incrementa la posición:
1 → C1 = 0 + 3, C2 = 4 + 2. 3 != 6
2→ C1 = 0 + 6, C2 = 4 + 4. 6 != 8
3→ C1 = 0 + 9, C2 = 4 + 6. 9 != 10
4→ C1 = 0 + 12, C2 = 4 + 8 12 == 12
La condición se cumple en la iteración 4, el resultado es «YES».
A tener en cuenta.
El peor escenario posible es donde se tengan que hacer 1000 iteraciones, esta es una restricción del problema mismo.
Ejemplo.