자료구조&알고리즘/프로그래머스

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

yong_ღ'ᴗ'ღ 2023. 11. 14. 17:11

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

 

프로그래머스

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

programmers.co.kr

 

접근방식)

1. "aya", "ye", "woo", "ma" 연속해서 있으면 발음하지 못하므로, 문자열 중 ayaaya 처럼 연속된게 있으면 다음 걸로 넘어간다.(continue)

2. 해당 문자열에서 발음할 수 있는 단어가 있다면 replaceAll()을 사용하여 공백으로 바꿔준다.

3. 그 문자열의 공백들을 없애준다. (→ replaceAll(" ", ""))

4. 위의 처리를 끝낸 해당 문자열이 비어있다면, 머쓱이의 조카가 발음할 수 있는 단어이므로, answer++  해준다.

 

class Solution {
    public int solution(String[] babbling) {
        int answer = 0;
        String[] speaking = {"aya", "ye", "woo", "ma"};
        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;
                
            for (int j = 0; j < speaking.length; j++) {
                babbling[i] = babbling[i].replaceAll(speaking[j], " ");
            }
            babbling[i] = babbling[i].replaceAll(" ", "");

            if (babbling[i].isEmpty())
                answer++;
        }
        return answer;
    }
}