Retour aux défis
Facile 0 résolus 0 % de réussite

Vérification de pangramme

Un pangramme contient chaque lettre de l’alphabet anglais au moins une fois.

Ce que vous allez apprendre

  • Collecter les lettres distinctes d'un texte
  • Ignorer la casse et les caractères qui ne sont pas des lettres
  • Comparer avec l'alphabet de 26 lettres

Problème

Un pangramme contient chaque lettre de l’alphabet anglais au moins une fois. Déterminez si le texte est un pangramme. Ignorez la casse, les espaces, les chiffres et la ponctuation.

Implémentez pangram_check(text).

Entrée

text : Le texte à analyser.

Sortie

Retournez true si les 26 lettres apparaissent, sinon false.

Contraintes

0 ≤ longueur de text ≤ 100 000. L’entrée contient des caractères ASCII imprimables. Seules les lettres A–Z et a–z sont prises en compte.

Exemples

Exemple 1
Entrée :
text = "The quick brown fox jumps over the lazy dog."

Sortie attendue :
expected = True
Entrée :
std::string text = "The quick brown fox jumps over the lazy dog.";

Sortie attendue :
bool expected = true;
Entrée :
string text = "The quick brown fox jumps over the lazy dog.";

Sortie attendue :
bool expected = true;

Explication

Chaque lettre de a à z apparaît au moins une fois. Un T majuscule compte comme un t.

Exemple 2
Entrée :
text = "abcdefghijklmnopqrstuvwxy"

Sortie attendue :
expected = False
Entrée :
std::string text = "abcdefghijklmnopqrstuvwxy";

Sortie attendue :
bool expected = false;
Entrée :
string text = "abcdefghijklmnopqrstuvwxy";

Sortie attendue :
bool expected = false;

Explication

Ce texte contient de a à y, mais il manque le z. Une seule lettre manquante rend la réponse false.

Comment l'aborder

Essayez d'abord seul, puis ouvrez les indices un par un.

Indice 1

Normalise le texte pour que la casse des lettres n’ait pas d’importance.

Indice 2

Mémorise quelles lettres parmi les 26 sont déjà apparues au moins une fois.

Indice 3

Ignore complètement tous les caractères qui ne sont pas des lettres, y compris les espaces et la ponctuation.

Complexité attendue

temps O(n), espace supplémentaire O(1)

Références

Ce défi a été adapté pour CodeUtility. Suivez l'énoncé et les contraintes ci-dessus.

Apprenez des autres

Solutions de la communauté

Aucune solution publiée pour l'instant. Résolvez ce défi pour partager la première.