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.

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 *