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

김준영·2023년 3월 11일
1

코딩테스트

목록 보기
10/22

문제


머쓱이는 태어난 지 6개월 된 조카를 돌보고 있습니다. 조카는 아직 "aya", "ye", "woo", "ma" 네 가지 발음을 최대 한 번씩 사용해 조합한(이어 붙인) 발음밖에 하지 못합니다. 문자열 배열 babbling이 매개변수로 주어질 때, 머쓱이의 조카가 발음할 수 있는 단어의 개수를 return하도록 solution 함수를 완성해주세요.

https://school.programmers.co.kr/learn/courses/30/lessons/120956?language=java

내 풀이


class Solution {
    public int solution(String[] babbling) {
        String[] data = {"aya", "ye", "woo", "ma"};
        int count = 0;
        for(String d : data){
            for(int i = 0; i < babbling.length; i++){
                babbling[i] = babbling[i].replace(d, " ");
            }
        }

        for(int i = 0; i < babbling.length; i++){
            if(!babbling[i].matches(".*[a-z].*")) count++;
        }

        return count;
    }
}
  1. 받은 배열에 머쓱이가 할 수 있는 말을 하나씩 replace한다.
  2. replace할때 대체 문자를 띄어쓰기를 해줘야 빠진 문자열에서 앞, 뒤 문자가 붙지 않는다.
  3. 할 수 있는 말을 다 했다면 배열에는 문자가 없어야 하므로 정규식을 사용해서 문자가 없는 갯수만 리턴한다.
profile
ㅎㅎ

0개의 댓글