Écrivez une fonction d'ajout de deux nombres romains en utilisant le projet https://github.com/vincent314/kotlin-training et les tests unitaires fournis.
⚠ Vous ne devez jamais convertir les nombres en décimal !
Utilisez les algorithmes très simples (ex. chercher / remplacer), et limitez vous au milliers.
sum("X","XI") == "XVI"
sum("DCXCIV", "MMCCCLIV") == "MMMXLVIII"
Construisez d'abord une fonction unpack pour décompacter les nombres : écrire de façon naïve les formes soustractives.
unpack
unpack("XIX") == "XVIIII"
unpack("XXIV") == "XXIIII"
Construisez une fonction merge pour concaténer et trier les caractères.
merge
merge("XVIIII", "XXIIII") == "XXXVIIIIIIII""
Construisez une fonction group pour regrouper les "tas" en partant de la droite (les plus petits).
group
group("XXXVIIIIIIII) == "XXXXIII"
Construisez une fonction simplify pour simplifiers les formes soustractives XL ou IV :
simplify
simplify("XXXXIII") == "XLIII"
Composer les 4 méthodes précédentes dans une fonction sum
sum
sum("XIX", "XXIV") == "XLIII"
The #1 tech hiring platform