[Java] 프로그래머스 - 옹알이 (1)

JuhyunKim·2022년 11월 9일
0

코딩테스트

목록 보기
6/8

프로그래머스 - 옹알이 (1)
https://school.programmers.co.kr/learn/courses/30/lessons/120956

프로그래머스 오늘의 연습문제에 떴길래 풀어봤다.
Lv0이라고 되어있는데.. Lv0 수준은 아닌 듯..?
이전의 Lv0은 두 수의 덧셈구하기 이런 수준이었는데 문제나 한 번 보려고 들어갔다가 그냥 풀어봤다.


옹알이 (1)

class Solution {
    public static String[] babblingArray = {"aya", "ye", "woo", "ma"};
   
    public int solution(String[] babbling) {
        int answer = 0;

        for(String bab : babbling){
            for(String str : babblingArray) {
                bab = bab.replaceFirst(str, " ");
            }
            if(bab.replaceAll(" ","").equals("")) answer++;
        }

        return answer;
    }
}

발음할 수 있는 단어들을 babblingArray로 따로 빼놓고, 각각 비교해서 " "(공백)으로 replace 했다.
대체가 아니라 remove를 해버리면 "yayae"처럼 중간 aya를 지웠을 때, ye가 남으면서 발음가능한 것으로 판단되어서 공백으로 넣어줬는데 다른 문자로 대체해도 된다.

조건 중 주의해야 할 점은 네 가지 발음을 최대 한 번씩 사용해 조합한(이어 붙인) 발음밖에 하지 못한다는 것이다.
"ayaaya"처럼 연속된 발음은 하지 못 하는 것인데, 한 번만 제거하도록 replaceFirst를 사용했다.

그리고 확인할 땐 대체표시인 공백을 모두 지웠을 때 남는 값이 없으면 발음가능한 것으로 판단했다.

0개의 댓글