1. 내 풀이
class Solution {
static String[] list = {"aya", "ye", "woo", "ma"};
public int solution(String[] babbling) {
int answer = 0;
for(String str : babbling) {
if(isBabble(str)) answer++;
}
return answer;
}
static boolean isBabble(String babble) {
boolean flag;
String prevString = "";
for(int i = 0; i< babble.length(); i++){
flag = false;
for(int j = 0; j < 4 ; j++){
if(i+list[j].length() - 1 < babble.length() && list[j].equals(babble.substring(i,i+list[j].length())) && !prevString.equals(babble.substring(i, i+ list[j].length()))){
i += list[j].length() - 1;
prevString = list[j];
break;
}
if(j == 3) flag = true;
}
if(flag) return false;
}
return true;
}
}
2. 다른 분 풀이
class Solution {
public int solution(String[] babblings) {
// "aya", "ye", "woo", "ma" 4가지 발음만 가능
int answer = 0;
for(int i = 0; i < babblings.length; i++) {
if(babblings[i].contains("ayaaya") || babblings[i].contains("yeye") || babblings[i].contains("woowoo") || babblings[i].contains("mama")) {
continue;
}
babblings[i] = babblings[i].replace("aya", " ");
babblings[i] = babblings[i].replace("ye", " ");
babblings[i] = babblings[i].replace("woo", " ");
babblings[i] = babblings[i].replace("ma", " ");
babblings[i] = babblings[i].replace(" ", "");
if(babblings[i].length() == 0) answer++;
}
return answer;
}
}
[replace와 replaceAll의 차이]
'코딩테스트 > Programmers' 카테고리의 다른 글
[프로그래머스] 로또의 최고 순위와 최저 순위 (1) | 2025.03.05 |
---|---|
[프로그래머스] 다트 게임 (0) | 2025.03.05 |
[프로그래머스] 실패율 (0) | 2025.03.05 |
[프로그래머스] 소수 찾기 (0) | 2025.03.05 |
[프로그래머스] 기사단원의 무기 (1) | 2025.03.02 |