Menu
Coddy logo textTech

Analyse de mots

Fait partie de la section Logique et Flux du Journey Ruby de Coddy. Leçon 54 sur 56.

Un défi autonome qui fait appel aux chaînes de caractères, aux hachages, à Hash.new(0) et aux méthodes Enumerable, le tout en même temps.

challenge icon

Défi

Moyen

Lisez une seule ligne d'entrée, une phrase. Analysez-la et affichez trois lignes :

  1. Le nombre de mots uniques (insensible à la casse, avec la ponctuation supprimée). Les mots répétés ne comptent qu'une seule fois.
  2. Les mots répétés (ceux apparaissant plus d'une fois), triés par ordre alphabétique, joints par , . Si aucun, affichez (none).
  3. Les mots palindromes, des mots qui se lisent de la même manière à l'endroit et à l'envers, de longueur ≥ 2, triés par ordre alphabétique, joints par , . Si aucun, affichez (none).

Supprimez les caractères .,!?:;"() de chaque mot avant le traitement. Mettez tout en minuscules pour la comparaison.

Pour l'entrée Madam saw a racecar. Dad said hello hello to mom., la sortie est :

9
hello
dad, madam, mom, racecar

Essayez vous-même

input = gets.chomp

# TODO: diviser, supprimer la ponctuation, mettre en minuscules, puis afficher :
#   le nombre de mots uniques, les mots répétés, les palindromes (longueur >= 2)
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Logique et Flux

Entraînez-vous par vous-même : Compilateur Ruby en ligne