Principiante · strings

Contar palabras

Una línea entra, el número de palabras sale. Simple — hasta que la entrada tiene espacios de más, que es justo lo que incluyen las pruebas ocultas.

Problema

Entrada: una línea de texto (solo letras y espacios, hasta 10.000 caracteres).

Salida: el número de palabras — trozos separados por espacios, ignorando los vacíos.

Ejemplo:

EntradaSalida
hello world2
the quick brown fox4

Tu solución

Program.cs — tu solución
Entrada personalizada para "Probar mi entrada"

La corrección se ejecuta por completo en tu navegador contra pruebas ocultas. Tu código se guarda localmente mientras escribes. Ctrl+Enter corrige.

¿Atascado? Pistas

Pista 1 — divide y cuenta

line.Split(' ') te da un array de trozos. Su Length parecería la respuesta — pero solo si no hay espacios repetidos.

Pista 2 — la trampa del trozo vacío

Dos espacios seguidos producen un string vacío en el array. Cuenta solo los trozos con Length > 0 en un foreach. Las pruebas incluyen líneas que son solo espacios.

Solución (¡inténtalo primero!)
string[] words = Console.ReadLine().Split(' ');
int count = 0;
foreach (string w in words)
{
    if (w.Length > 0) count++;
}
Console.WriteLine(count);

Es el primer problema donde la respuesta ingenua falla para toda una clase de entradas — la disciplina de preguntar "¿cómo se ve el caso límite?" es la lección real.