Untitled

 avatar
unknown
plain_text
5 months ago
1.1 kB
4
Indexable
 public static int countValidWords(String s) {
        if (s == null || s.isEmpty()) {
            return 0;
        }
        
        String[] words = s.split("\\s+");
        int validWordCount = 0;
        
        for (String word : words) {
            if (isValidWord(word)) {
                validWordCount++;
            }
        }
        
        return validWordCount;
    }

    private static boolean isValidWord(String word) {
        if (word.length() < 3) {
            return false;
        }
        
        boolean hasVowel = false;
        boolean hasConsonant = false;
        
        for (char ch : word.toCharArray()) {
            if (Character.isDigit(ch)) {
                return false;
            }
            if (isVowel(ch)) {
                hasVowel = true;
            } else if (Character.isLetter(ch)) {
                hasConsonant = true;
            }
        }
        
        return hasVowel && hasConsonant;
    }

    private static boolean isVowel(char ch) {
        ch = Character.toLowerCase(ch);
        return ch == 'a' || ch == 'e' || ch == 'i' || ch == 'o' || ch == 'u';
    }
Editor is loading...
Leave a Comment