Leetcode Java Valid Word
업데이트:
문제
코드
class Solution {
public boolean isValid(String word) {
if (word.length() < 3) {
return false;
} else {
int vowels = 0;
int consonants = 0;
for (char c : word.toCharArray()) {
if (Character.isLetter(c)) {
if ("aeiouAEIOU".indexOf(c) != -1) {
vowels++;
} else {
consonants++;
}
} else if (!Character.isDigit(c)) {
return false;
}
}
return 0 < vowels && 0 < consonants;
}
}
}
결과
설명
- word의 문자열의 아래 조건을 모두 만족하는지 검증하는 문제이다.
- 최소 3자리 이상의 문자열로, 숫자와 영대소문자로만 구성되어있다.
- 영문자 모음 ‘a’, ‘e’, ‘i’, ‘o’, ‘u’ 문자의 대소문자를 최소 하나 이상 포함한다.
- 영문자 자음 ‘a’, ‘e’, ‘i’, ‘o’, ‘u’ 문자를 제외한 문자의 대소문자를 최소 하나 이상 포함한다.
-
word가 3자리 미만의 문자열인 경우, false를 주어진 문제의 결과로 반환한다.
-
vowels와 consonants는 모음과 자음 문자의 갯수를 저장할 변수로, 0으로 초기화한다.
- word의 문자들을 순차적으로 c에 넣고 아래를 수행한다.
- c가 영문자이면 모음인 경우 vowels를, 자음인 경우 consonants를 증가시킨다.
- c가 영문자가 아니면 숫자가 아닌 경우, false를 주어진 문제의 결과로 반환한다.
- 마지막으로 vowels와 consonants 모두 0보다 큰지 확인하여 해당 결과를 주어진 문제의 결과로 반환한다.
소스
Sample Code는 여기에서 확인 가능합니다.
댓글남기기