반응형
https://school.programmers.co.kr/learn/courses/30/lessons/133499
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(" ","");
이렇게 닫아주고 글자수 카운터 해면됨
아니면 밑에 사진처럼 정규식으로 한번에 치환해버리면 됨
반응형
'기타 > 알고리즘' 카테고리의 다른 글
[알고리즘] 프로그래머스 - 콜라문제 LV.1 JAVA (0) | 2023.05.10 |
---|---|
[알고리즘] 프로그래머스 - 과일장수 Lv1 Java (0) | 2023.05.10 |
[알고리즘] 프로그래머스 - 기사단원의무기 Lv.1 (java) (0) | 2023.05.08 |
[알고리즘] 프로그래머스 - 숫자카드나누기 Lv2 (Java) (0) | 2023.05.06 |
[알고리즘] 프로그래머스 - 귤고르기 java 정렬활용 (0) | 2023.05.03 |