DEV Community

#4.Basic algorithms problems for frontend developers.

talent on July 19, 2022

Find a letter that occurs the most in a given sentence. In our case example: in the phrase 'hey there my friend' the letter** e** occurs the most ...
Collapse
 
silenceleo profile image
Leo
const str = "hey there my friend";

const mostFrequent = (s) => {
  const obj = {};
  let mostFrequentLetter = "";

  const string = s.replace(/ /g, "");

  for (let letter of string) {
    !obj[letter] ? (obj[letter] = 1) : obj[letter]++;

    if (!mostFrequentLetter || obj[letter] > obj[mostFrequentLetter]) {
      mostFrequentLetter = letter;
    }
  }

  return mostFrequentLetter;
};

console.log(mostFrequent(str));

Enter fullscreen mode Exit fullscreen mode
Collapse
 
talenttinaapi profile image
talent

awesome!

Collapse
 
iccoweb profile image
iccoweb
const findMostUsedLetter = (str) => {
  const filteredStrToArr = str
    .replace(/[^a-zA-Z]/g, '')
    .split('')
    .sort()

  return filteredStrToArr.reduce((a, b, index, arr) => (
    arr.filter((v) => v === a).length >= arr.filter((v) => v === b).length
      ? a
      : b
  ), null)
}

console.log(findMostUsedLetter('hey there my friend'))
Enter fullscreen mode Exit fullscreen mode
Collapse
 
jonrandy profile image
Jon Randy 🎖️ • Edited
const mostFrequent = s=>([...s].sort().join('').match(/(\w)\1+/g)?.sort((a,b)=>b.length-a.length)[0]||s.match(/\w/))[0]
Enter fullscreen mode Exit fullscreen mode
Collapse
 
talenttinaapi profile image
talent

simple and straight forward

Collapse
 
jonrandy profile image
Jon Randy 🎖️ • Edited

Yup, doesn't need any explanation 😉

Collapse
 
mt3o_23 profile image
Teodor Kulej

Hi, don't mean to discourage you, but how is this problem even remotely related to frontend?