학습/프로그래머스

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

태기 2023. 2. 3. 22:46

문제

옹알이(1)

https://school.programmers.co.kr/learn/courses/30/lessons/120956

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

옹알이(2)

https://school.programmers.co.kr/learn/courses/30/lessons/133499

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr


나의 풀이

옹알이(1) 풀이

class Solution {
    public int solution(String[] babbling) {
        int answer = 0;
        for(int i=0;i<babbling.length;i++){
            String str = babbling[i];
            str = str.replace("aya", "-");
            str = str.replace("ye", "-");
            str = str.replace("woo", "-");
            str = str.replace("ma", "-");
            str = str.replace("-", "");
            if(str.length() == 0){
                answer++;
            }
        }
        return answer;
    }
}

옹알이 해당하는 부분을 다 '-'로 처리하고 마지막은 공백으로 바꾼다. 바꾼 str 객체의 길이가 0이면 카운트를 해준다.

 

 

옹알이(2) 풀이

class Solution {
    public int solution(String[] babbling) {
        int answer = 0;
        for (int i = 0; i < babbling.length; i++) {
            String str = babbling[i];
            if (str.contains("ayaaya") || str.contains("yeye") || str.contains("woowoo") || str.contains("mama")) {
                continue;
            }
            str = str.replace("aya", " ");
            str = str.replace("ye", " ");
            str = str.replace("woo", " ");
            str = str.replace("ma", " ");
            str = str.replace(" ", "");
            if (str.length() == 0)
                answer++;
        }
        return answer;
    }
}

옹알이(2) 문제는 연속된 옹알이가 있는지 확인하는 작업이 필요하다. 따라서 앞의 문제에서 문자 변환 전에 연속된 옹알이가 있는지 확인하는 if문을 넣어주었다.