Challenge: Tortoise racing

June 27 @ 6:30 pm - 9:00 pm UTC+2
Loading Events
  • This event has passed.

Au programme
La session se déroulera au format table ronde, où chacun d’entre nous présente la résolution du Kata ci-dessous.

Le principe :
Un Kata est choisi lors de la session précédent, chaque participant essaye de le resoudre en pratiquant le test FIRST, quelque soit la pratique TDD, BDD, PDD de votre choix. Il est important de respecter les principes SOLID, KISS, Clean Code… et de pouvoir démontrer ca démarche a l’aide par exemple du

Kata pour la session de juin:
Difficulté: 6 kyu

Two tortoises named A and B must run a race. A starts with an average speed of 720 feet per hour. Young B knows she runs faster than A, and furthermore has not finished her cabbage.

When she starts, at last, she can see that A has a 70 feet lead but B’s speed is 850 feet per hour. How long will it take B to catch A?

More generally: given two speeds v1 (A’s speed, integer > 0) and v2 (B’s speed, integer > 0) and a lead g (integer > 0) how long will it take B to catch A?

The result will be an array [hour, min, sec] which is the time needed in hours, minutes and seconds (round down to the nearest second) or a string in some languages.

If v1 >= v2 then return nil, nothing, null, None or {-1, -1, -1} for C++, C, Go, Nim, [] for Kotlin or “-1 -1 -1”.

(form of the result depends on the language)

race(720, 850, 70) => [0, 32, 18] or “0 32 18”
race(80, 91, 37) => [3, 21, 49] or “3 21 49”
** Note:

See other examples in “Your test cases”.

In Fortran – as in any other language – the returned string is not permitted to contain any redundant trailing whitespace: you can use dynamically allocated character strings.

** Hints for people who don’t know how to convert to hours, minutes, seconds:

Tortoises don’t care about fractions of seconds

Think of calculation by hand using only integers (in your code use or simulate integer division)

or Google: “convert decimal time to hours minutes seconds”

À prendre avec vous
De la curiosité, un portable


June 27
6:30 pm - 9:00 pm
Event Category:


La Fumisterie chez Ernest
Rue des Noirettes 21, 1227 Carouge
Genève, ch
+ Google Map