Apariciones de una letra en cada palabra

Crea una función que reciba una oración y un carácter que se debe buscar. Devuelve un mapa con cada palabra de la oración como clave y la cantidad de veces que aparece el carácter especificado como valor.

Ejemplos

findOccurrences("Hello World", "o") ➞ {
  "hello" : 1,
  "world" : 1
}

findOccurrences("Create a nice JUICY function", "c") ➞  {
  "create" : 1,
  "a" : 0,
  "nice" : 1,
  "juicy" : 1,
  "function" : 1
}

findOccurrences("An APPLE a day keeps an Archeologist AWAY...", "A") ➞ {
  "an" : 1,
  "apple" : 1,
  "a" : 1,
  "day" : 1,
  "keeps" : 0,
  "archeologist" : 1,
  "away..." : 2
}

Notas

  • La función no debe distinguir entre mayúsculas y minúsculas.
  • Las palabras del mapa deben estar en minúsculas.
  • Es posible que debas buscar un signo de puntuación.
  • Las palabras duplicadas deben ignorarse (consulta el ejemplo n.º 3 para la palabra "an").

Ejemplo en Java

assertEquals(java.util.Map.ofEntries(java.util.Map.entry("hello", 1), java.util.Map.entry("world", 1)), Program.findOccurrences("Hello World", 'o'));