Cette semaine, c'est Lothaire qui vous propose un #KataOfTheWeek : The Berlin clock

Briefing du Kata : L’idée est la suivante: chaque lampe allumée indique qu’une certaine durée de temps s’est écoulée.
Plus précisément:

  • La lumière de la première ligne s'allume puis s'éteint à chaque seconde.
  • Chaque lumière de la deuxième ligne (4 au total) représente 5 heures.
  • Chaque lumière de la troisième ligne (4 au total) représente 1 heure.
  • Chaque lumière de la quatrième ligne (11 au total) représente 5 minutes. (les lumières rouges indiquent les quarts d’heure)
  • Chaque lumière de la dernière ligne (4 au total) représente 1 minute.

Les lumières s'allument de gauche à droite.
Les lumières des heures sont rouges, celles des minutes sont jaunes(sauf celles qui indiquent les quarts d'heure qui sont rouges) et la lumière des secondes est jaune (elle est allumée pour les secondes paires et éteinte pour les secondes impaires).

Ici je vous propose de représenter les couleurs par des lettres:

  • Y = jaune
  • R = rouge
  • O = éteint

Le but est de créer une fonction qui prend en paramètre l'heure et qui renvoie une string représentant l'heure affichée sur l'horloge de Berlin.

Exemple: L'heure 13:42:09 correspond sur l'horloge de Berlin à :

         -------
         |  O  |
-------------------------
|  R  |  R  |  O  |  O  |
-------------------------
|  R  |  R  |  R  |  O  |
-------------------------
| Y|Y|R|Y|Y|R|Y|Y|O|O|O |
-------------------------
|  Y  |  Y  |  O  |  O  |
-------------------------

Saurez-vous résoudre le problème ?

Bon courage ! Retrouvez la solution dans cet article 😉