Conte as carinhas sorridentes :)

Crie um método que receba um array de strings e retorne a quantidade de carinhas sorridentes que ele contém. Estes são os componentes que formam uma carinha sorridente válida:

  • Uma carinha sorridente tem olhos. Os olhos podem ser : ou ;.
  • Uma carinha sorridente tem um nariz opcional. O nariz pode ser - ou ~.
  • Uma carinha sorridente tem uma boca, que pode ser ) ou D.

Nenhum outro caractere é permitido além dos mencionados acima.

Exemplos

Program.countSmileys(new String[]{":)", ";(", ";}", ":-D"}) ➞ 2

Program.countSmileys(new String[]{";D", ":-(", ":-)", ";~)"}) ➞ 3

Program.countSmileys(new String[]{";]", ":[", ";*", ":$", ";-D"}) ➞ 1

Notas

  • Você sempre receberá um array como entrada.
  • Um array vazio deve retornar 0.
  • A ordem de cada elemento do rosto será sempre a mesma.
  • Os narizes são opcionais (por exemplo, :) e :-) são válidos).