본문 바로가기
알고리즘/문제 풀이

[프로그래머스] 옹알이(2)

by 위대한초밥V 2023. 11. 21.

설명

이 문제를 풀 때, 정석인 방법으로 첫글자에 따라 뒤에 있는 문자들을 확인하면서 탐색했다. 

검색해보니 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;
    }
}
반응형