Solución

@josemcarrizosa98_f7e20d3d
·hace 1dTypeScript
solution.tsTypeScript
export function topNWords(text: string, n: number): string[] {
  if ( n > text.length ) return text.split('');
  const uniqueWordsMap: Map<string, number>= new Map()

  text.split(' ').map(word => word.toLocaleLowerCase()).forEach(word=> uniqueWordsMap.set(word, (((word: string)=> {return uniqueWordsMap.has(word) ? (Number(uniqueWordsMap.get(word)) + 1) : 1})(word))) )

  const wordsFrecuency = Array.from(uniqueWordsMap)

  const sortedWordsFrecuency =wordsFrecuency.sort((a, b )=>  {
    const substractionResult =  b[1] - a[1]
    //empate
    if(substractionResult === 0 ){
        const alfabeticSort = ([a[0], b[0]].sort())
        if(alfabeticSort[0]=== a[0]){
          return -1
        }
        return 1
    }
    return substractionResult
  })

  console.log(sortedWordsFrecuency)


  return sortedWordsFrecuency.splice(0, n).map(tuple => tuple[0]);
}
0respuestas
Respuestas
0

Aún no hay respuestas

¡Sé el primero en responder!

Escribir un comentario

Recuerda ser amable. Estás comentando la solución de otra persona. Comparte tu perspectiva de forma constructiva y respetuosa.

Debes iniciar sesión para publicar un comentario.
Markdown