4 of 5
added the 'How?' section
Arnauld
  • 165.5k
  • 16
  • 160
  • 584

#JavaScript (ES6), 36 28 bytes

Returns a boolean.

s=>!/[^aeiouy]{2}/.test(s+0)

###How?

We append a 0 (non-vowel) at the end of the input string and look for two consecutive non-vowel characters. This allows us to cover both cases that make a word not strong:

  • it contains two consecutive consonants
  • or it ends with a consonant

###Test cases

let f =

s=>!/[^aeiouy]{2}/.test(s+0)

;[
  "hate", "love", "popularize", "academy", "you", "mouse", "a", "euouae",
  "acorn", "nut", "ah", "strong", "false", "parakeet"
]
.forEach(s => console.log(s + ' --> ' + f(s)))

Arnauld
  • 165.5k
  • 16
  • 160
  • 584