class Solution {
public int solution(String[] babbling) {
int answer = 0;
for(int i=0; i<babbling.length; i++) {
babbling[i] = babbling[i].replaceAll("aya", "---");
babbling[i] = babbling[i].replaceAll("ye", "--");
babbling[i] = babbling[i].replaceAll("woo", "---");
babbling[i] = babbling[i].replaceAll("ma", "--");
}
for(int i=0; i<babbling.length; i++) {
if(babbling[i].matches(".*[a-zA-Z].*")) answer++;
}
answer = babbling.length - answer;
return answer;
}
}
class Solution {
public int solution(String[] babbling) {
int answer = 0;
for(int i =0; i < babbling.length; i++) {
babbling[i] = babbling[i].replace("aya", "1");
babbling[i] = babbling[i].replace("woo", "1");
babbling[i] = babbling[i].replace("ye", "1");
babbling[i] = babbling[i].replace("ma", "1");
babbling[i] = babbling[i].replace("1", "");
if(babbling[i].isEmpty()) {
answer = answer + 1;
}
}
return answer;
}
}
예를들어 replace("aya", "")
로 하면, 만약 "yayae"라는 문자열이 있을 때 가운데 aya가 사라지고 "ye"가 남게되어 replace("ye", "")
도 진행되는게 문제였다.
하지만 이 코드에서 아주 살짝 생각을 틀어 잘 풀었다.
해당 문자열을 빈값으로 대체하는게아니라 1로 대체하고, 4개의 문자열에 대한 검사가 끝나면 1을 빈값으로 다시 바꿔주는 작업을 하면 되는것이었다!
또한 Stirng은 isEmpty()로 ""값을 체크할 수 있다.
isEmpty()를 String에도 쓸 수 있는줄 몰랐다.