Écrire une fonction qui prend un entier non négatif en paramètre et retourne un nouvel entier dont les chiffres sont triés dans l’ordre décroissant.
L'objectif est de réorganiser les chiffres du nombre pour produire le plus grand nombre possible.
🔗 Kata Codewars
Descending Order
• • •
La fonction doit respecter les règles suivantes :
- L’entrée est un entier non négatif
- Les chiffres du nombre doivent être réorganisés
- Le résultat doit être le plus grand nombre possible formé avec ces chiffres
- Le résultat doit être retourné sous forme d’entier
• • •
L’algorithme peut être résumé en plusieurs étapes :
- Convertir le nombre en chaîne de caractères
- Extraire les chiffres individuellement
- Trier les chiffres du plus grand au plus petit
- Recomposer le nombre à partir des chiffres triés
• • •
| Entrée | Résultat |
|---|---|
42145 |
54421 |
145263 |
654321 |
123456789 |
987654321 |
0 |
0 |
• • •
Les tests unitaires associés sont disponibles dans le projet :
- 📁 Projet de tests NUnit
../../../tests/7kyu/DescendingOrder.Tests/
Les tests vérifient notamment :
- le tri correct des chiffres
- le comportement avec différents nombres
- les cas simples et les cas plus longs
- les valeurs limites
• • •
La fonction doit :
- recevoir un entier non négatif
- réorganiser ses chiffres en ordre décroissant
- retourner le plus grand nombre possible formé avec ces chiffres.