Perigo com estranhos

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 uma lista de duas listas. A primeira é uma lista de palavras conhecidas, na ordem em que se tornaram conhecidas (veja o exemplo). A segunda é uma lista de palavras amigas, na ordem em que se tornaram amigas. As palavras da lista de amigas não devem mais estar na lista de conhecidas.

Exemplos

no_strangers("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).