출처: https://bumcrush.tistory.com/182 [맑음때때로 겨울]
반응형

 

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

 

프로그래머스

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

programmers.co.kr

package Programmers;

public class 옹알이2 {
    public static void main(String[] args){
        옹알이2 T= new 옹알이2();
        String[] babbling = {"ayaye", "uuu", "yeye", "yemawoo", "ayaayaa"};
        T.solution(babbling);
    }
    public int solution(String[] babbling) {
        int answer = 0;
        for (String s : babbling) {
            s = s.replaceAll("ayaaya|yeye|woowoo|mama", " ");
            s = s.replaceAll("aya|ye|woo|ma", "");
            if (s.equals(""))
                answer++;
        }
        return answer;
    }
}

replaceAll 함수 사용해서 치환해주면 된다. 

두번이상 중복되는 단어는 오답처리 해주고 

다음 replaceAll 에서 치환해주면된다.

 

특이 케이스로 "myea" 가 있는데 여러줄나눠서 replaceAll 사용하는경우에 

"myea".replaceAll("ye",""); ("ma")

"myea".replaceAll("ma",""); ("")

이렇게 정답처리 되버리는 케이스 있으니 조심 하자 여러줄 쓸꺼면 

"myea".replaceAll("ye"," ");

"myea".replaceAll("ma"," ");

요렇게 한칸공백을 주고 치환하고 치환식이 끝나면 

"myea".replaceAll(" ","");

이렇게 닫아주고 글자수 카운터 해면됨

 

아니면 밑에 사진처럼 정규식으로 한번에 치환해버리면 됨

 

반응형

+ Recent posts