El algoritmo de este artículo tiene una motivación, y es que hace poco vi esto en Twitter, o mejor dicho X, lo siguiente:
Esta publicación sin duda ha causado revuelo mediático en este mundillo de la programación, y es que es tan relativamente pequeño que todo se sabe y las noticias o tendencias llegan rápido.
Para que no te pase lo que le pasó a nuestro amigo developer que, quizá por desconocimiento, por pereza o vaya usted a saber por qué no quizo ni intentarlo y fue directamente a google, en realidad, esto lo hemos hecho todos, sin importar el nivel de pericia que uno tenga, así que yo no mediría su nivel de programador sólo porque no supo o no quiso resolver este algoritmo.
Sin embargo también hay que decir una gran verdad, tenemos que quitarnos la pereza de buscar la respuesta rápida a todo, tenemos que esforzarnos primero por hacerlo nosotros, desarrollar ese "músculo" de resolver problemas, y así te harás un developer más profesional y completo.
Bueno, entonces allá vamos, hay que resolver el algoritmo de contar las palabras de un texto, no es muy difícil, sólo requiere conocer los métodos correctos y un poquito de análisis.
Aquí el código en C#:
using System;
using System.Text;
public class Program
{
public static void Main()
{
string texto = " hola mundo esta es un aprueba j ";
Console.WriteLine(WordCount(texto).ToString());
}
public static int WordCount(string texto)
{
bool spaceDetected = false;
StringBuilder cleanText = new StringBuilder();
foreach(var caracter in texto){
if(caracter == ' '){
if(spaceDetected)
continue;
else
spaceDetected = true;
}
else
spaceDetected = false;
cleanText.Append(caracter);
}
return cleanText.ToString()
.Trim()
.Split(' ',StringSplitOptions.RemoveEmptyEntries)
.Length;
}
}
Al ejecutarlo obtengo los resultados correctos:
Tranquilamente podría haber utilizado un Split directamente y un Length, sin embargo si hacía eso, cuando se le pasa un texto con espacios seguidos falla así que tuve la precaución de manejar espacios seguidos para no efectuar un conteo erróneo, así que este algoritmo es mejorado.
Y bueno allí lo tienes estimado dev! En mi opinión en todos lados se cuecen habas, y hay devs muy buenos en latinoamérica, eso no quiere decir que no los haya malos también, sin embargo, seamos pragmáticos, elevemos la valla y mejoremos nuestra imagen allá afuera mis cracks.
Por cierto aprovecho el bug para decirte que me des follow! 🐞 x.com/TheBraveDevelop
A practicar y seguir mejorando, nos vemos en la próxima entrada 🦊🤝
Si esta entrada te ha encantado, compártela 🐿️
Créditos de la imagen de portada: Foto de Alex Lvrs en Unsplash