class Solution {
public int solution(String[] babbling) {
int answer = 0;
loof1: for(int i=0;i<babbling.length;i++) {
if(babbling[i].contains("ayaaya")||babbling[i].contains("yeye")||babbling[i].contains("woowoo")||babbling[i].contains("mama")) {
continue;
}
babbling[i]=babbling[i].replace("aya", " ");
babbling[i]=babbling[i].replace("ye", " ");
babbling[i]=babbling[i].replace("woo", " ");
babbling[i]=babbling[i].replace("ma", " ");
String[] tmp = babbling[i].split("");
for(int j=0;j<tmp.length;j++) {
if(!tmp[j].equals(" ")) {
continue loof1;
}
}
answer++;
}
return answer;
}
}
이전에 풀어볼 때의 replace
라는 메서드가 생각나서 사용하였다.
예전에는 해당 문자열이 포함되어 있는 경우에 replace
를 사용했는데,
위와 같이 해당 문자열이 없다면 넣어준 문자열이 그대로 반환된다는 것을 알게 되었다.
.replace(" ","")
를 했다면, 혹은 replaceAll()
을 사용했다면
좀 더 간결했을 터인데... 조금 아쉽다.
그래도 예전엔 못풀었던 문제를 이제는 척척 풀 수 있으니 감회가 새롭다.
class Solution {
public int solution(String[] babbling) {
int answer = 0;
for (String s : babbling) {
if (s.contains("ayaaya") || s.contains("yeye") || s.contains("woowoo") || s.contains("mama")) {
continue;
} else {
if (s.contains("aya")) s = s.replace("aya", " ");
if (s.contains("ye")) s = s.replace("ye", " ");
if (s.contains("woo")) s = s.replace("woo", " ");
if (s.contains("ma")) s = s.replace("ma", " ");
if (s.contains(" ")) s = s.replace(" ", "");
if (s.length() == 0) {
answer++;
}
}
}
return answer;
}
}