설명
이 문제를 풀 때, 정석인 방법으로 첫글자에 따라 뒤에 있는 문자들을 확인하면서 탐색했다.
검색해보니 replace()를 이용한 풀이가 있어 참고해보았다.
- 만약 연속된 발음이 존재한다면?(ex. "ayaaya", "yeye" ...) 👉 발음할 수 없다고 했으니 넘어간다.
- 허용되는 문자들은 " "로 바꾼다.
- " " 👉 ""로 바꾼다.
- 만약 허용되는 것들로만 이루어졌다면, 마지막에 String은 ""이 되므로 길이가 0이 된다.
코드
class Solution {
public int solution(String[] babbling) {
int answer = 0;
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", " ");
babbling[i] = babbling[i].replace(" ", "");
if(babbling[i].length() == 0) answer++;
}
return answer;
}
}
반응형