Algoritmos notables: La letra más repetida
Este algoritmo es un clásico en entrevistas, practícalo y rómpela! 😉

En esta ocasión vamos a resolver un algoritmo muy utilizado en entrevistas, usaremos el lenguaje javascript ya que es fácil de testear y además puedes luego convertirlo fácilmente a otro lenguaje de tu preferencia, arranquemos:

Enunciado

Dado un texto, devolver la letra que más repeticiones tiene.

No se debe considerar los espacios y si hay empate en la letra resultante, devolver cualquiera de ellas.

Armando algoritmo

  • Reemplazar espacios en la cadena
  • Iteramos la cadena caracter por caracter y lo guardamos en una variable objeto para poder mapear cada caracter al estilo key value
  • Por cada caracter iterado le asignaremos el valor 1 si es primera aparición o si no su contador irá sumando
  • Iteramos por cada caracter del mapeo
  • Si su value (es decir su número de apariciones) supera a la máxima reemplaza este valor, así nos aseguramos de tener el número de repeticiones máximo presente en el mapeo y asignamos su key como letra resultante.
  • Devolver resultante

Resolución en JS

function MoreUsedLetter(text){
    let mapeo = {}
    let max = 0;
    let result = "";

    for(let letra of text.replace(/\s/g,'')){
        if(!mapeo[letra]){
            mapeo[letra]=1;
        }
        else{
            mapeo[letra]++;
        }
    } 

    for(let letra in mapeo){
        
        if(mapeo[letra] > max){
            max = mapeo[letra];
            result = letra;
        }
    }
    console.log(result);
}

MoreUsedLetter("este es un texto que voy a probar");

A las pruebas me remito

Para estos ejercicios uso VS Code:

Para probar hemos instalado previamente node.js para poder ejecutar código javascript en consola, en este algoritmo anterior explico cómo hacerlo.

Ingresamos un texto y nos dió la respuesta acertada! Genial 😎 Pruébala y analiza bien el código, intenta mejorarlo, así se aprende.

Practicando es como ganas confianza 😉

Si quieres puedes descargar el código en este repo de mi cuenta Github.

Recuerda que esta entrada es de la serie de artículos Algoritmos notables, los cuales los subo al siguiente repo https://github.com/GeaSmart/MyAlgorithmsCollection, puedes visitarlo y descubrir más algoritmos 😊

Si te ha gustado esta entrada capo, considera compartirla y practicarla 😉

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *