JS Coding Question #9: Get Max Character ...

JS Coding Question #9: Get Max Character In A String [Challenging]

Sep 25, 2021

Interview Question #9:

Write a function that will return the max character in a string.πŸ€” You may get a variation to the question as well like write a function that will return that most commonly used character in a sentence or similar.

Additional Rules:

  1. Treat lowercase and uppercase the same

  2. Only count alphabetic characters, no symbols, and numbers

  3. Return one max character in case of multiple max characters

If you need practice, try to solve this on your own without looking at the solution below.

Feel free to bookmark πŸ”– even if you don't need this for now. You may need to refresh/review down the road when it is time for you to look for a new role.

Codepen: If you want to play around and experiment with the code: https://codepen.io/angelo_jin/pen/abwYGPo

Solution below will cycle on every string and create a map. Once the map is created, cycle on the map and use the variables created to see if the current char has a greater count. Assign char and max count accordingly.

// Helper function to remove non alphabetic characters and transform string to lowercase
function normalizeString(str) {
  return str
    .replace(/[^\w]/g, '')
    .toLowerCase()
}

function getMaxChar(str) {
  const charMap = {}
  let max = 0
  let maxChar = ''

  for (let char of normalizeString(str)) {
    if (charMap[char]) {
      charMap[char]++
    } else {
      charMap[char] = 1
    }
  }

  for (let char in charMap) {
    if (charMap[char] > max) {
      max = charMap[char]
      maxChar = char
    }
  }

  return maxChar
}

Happy coding and good luck if you are interviewing!

Video below if you prefer instead of a bunch of text/code πŸ‘πŸ˜Š

https://youtu.be/ZexSjfDnbUE

Enjoy this post?

Buy letscode77 a coffee

More from letscode77