Perigo com estranhos

Published by Matt in

Neste desafio, a entrada será uma string (longa).

Uma palavra encontrada pela primeira vez é uma estranha. Uma palavra encontrada três vezes se torna conhecida. Uma palavra encontrada 5 vezes se torna amiga.

Crie uma função que receba a string e retorne um array de dois arrays. O primeiro é um array de palavras conhecidas, na ordem em que se tornaram conhecidas (veja o exemplo). O segundo é um array de palavras amigas, na ordem em que se tornaram amigas. As palavras do array de amigas não devem mais estar no array de conhecidas.

Exemplos

noStrangers("See Spot run. See Spot jump. Spot likes jumping. See Spot fly.")
➞ [["spot", "see"], []]
// "see" was encountered first but "spot" became an acquaintance earlier.

Observações

  • Todas as palavras devem estar em letras minúsculas.
  • A pontuação deve ser removida, exceto apóstrofos (por exemplo, doesn't, aren't, etc).