Volver a los desafíos
Fácil 0 resueltos 0% de aceptación

Verificación de Pangrama

Un pangrama contiene cada letra del alfabeto inglés al menos una vez.

Lo que aprenderás

  • Reunir las letras distintas de un texto
  • Ignorar mayúsculas y caracteres que no son letras
  • Comparar con el alfabeto de 26 letras

Problema

Ver original (inglés)

Un pangrama contiene cada letra del alfabeto inglés al menos una vez. Determina si el texto es un pangrama. Ignora mayúsculas y minúsculas, espacios, dígitos y signos de puntuación.

Implementa pangram_check(text).

Entrada

text: El texto a inspeccionar.

Salida

Devuelve true si aparecen las 26 letras, de lo contrario false.

Restricciones

0 ≤ longitud de text ≤ 100,000. La entrada contiene caracteres ASCII imprimibles. Solo se consideran las letras A–Z y a–z.

Ejemplos

Ejemplo 1
Entrada:
text = "The quick brown fox jumps over the lazy dog."

Salida esperada:
expected = True
Entrada:
std::string text = "The quick brown fox jumps over the lazy dog.";

Salida esperada:
bool expected = true;
Entrada:
string text = "The quick brown fox jumps over the lazy dog.";

Salida esperada:
bool expected = true;

Explicación

Cada letra desde la a hasta la z aparece al menos una vez. La T mayúscula cuenta como t.

Ejemplo 2
Entrada:
text = "abcdefghijklmnopqrstuvwxy"

Salida esperada:
expected = False
Entrada:
std::string text = "abcdefghijklmnopqrstuvwxy";

Salida esperada:
bool expected = false;
Entrada:
string text = "abcdefghijklmnopqrstuvwxy";

Salida esperada:
bool expected = false;

Explicación

Este texto contiene de la a a la y, pero no tiene z. Falta una letra, por lo que es false.

Cómo abordarlo

Inténtalo primero por tu cuenta y luego abre las pistas una a una.

Pista 1

Normaliza el texto para que el caso de las letras no importe.

Pista 2

Lleva un registro de cuáles de las 26 letras han aparecido al menos una vez.

Pista 3

Ignora por completo cualquier carácter que no sea letra, incluidos espacios y signos de puntuación.

Complejidad esperada

tiempo O(n), espacio extra O(1)

Referencias

Este reto está adaptado para CodeUtility. Sigue el enunciado y las restricciones indicadas arriba.

Aprende de otros

Soluciones de la comunidad

Aún no hay soluciones publicadas. Resuelve este reto para compartir la primera.