Description
A word is considered valid if:
- It contains a minimum of 3 characters.
- It contains only digits (0-9), and English letters (uppercase and lowercase).
- It includes at least one vowel.
- It includes at least one consonant.
You are given a string word.
Return true if word is valid, otherwise, return false.
Notes:
'a','e','i','o','u', and their uppercases are vowels.- A consonant is an English letter that is not a vowel.
Β
Example 1:
Input: word = "234Adas"
Output: true
Explanation:
This word satisfies the conditions.
Example 2:
Input: word = "b3"
Output: false
Explanation:
The length of this word is fewer than 3, and does not have a vowel.
Example 3:
Input: word = "a3$e"
Output: false
Explanation:
This word contains a '{PROBLEM_DESCRIPTION}#39; character and does not have a consonant.
Β
Constraints:
1 <= word.length <= 20wordconsists of English uppercase and lowercase letters, digits,'@','#', and'{PROBLEM_DESCRIPTION}#39;.
Solution
Python3
class Solution:
def isValid(self, word: str) -> bool:
if len(word) < 3: return False
vowel = consonant = 0
for x in word:
if not x.isdigit() and x not in ascii_lowercase and x not in ascii_uppercase:
return False
if x.isdigit(): continue
if x in "aeiouAEIOU":
vowel += 1
else:
consonant += 1
return vowel > 0 and consonant > 0