문제
문제 풀이
아기가 할 수 있는 말은 아래와 같다.
String[] joka = {"aya", "ye", "woo", "ma"};
그리고 중복된 말은 하지 못하니 연속으로 할 수 있는 말을 필터링 할 수 있는 값을 지정한다.
for (String ban : joka) {
String sumBan = ban + ban;
str = str.replaceAll(sumBan, "X");
}
그렇게 한번 걸러진 내용에서 아기가 할 수 있는 말만 변환을 시킨다.
for (String bab : joka) {
str = str.replaceAll(bab, "O");
}
마지막으로 해당 값에서 O이외 다른 값이 있으면 다음으로 넘어가게 한다.
boolean check = true;
for (int i = 0; i < str.length(); i++) {
if (!"O".equals(str.substring(i , i+1))) {
check = false;
break;
}
}
if (check) answer++;
나의 답안
public static int solution(String[] babbling) {
int answer = 0;
String[] joka = {"aya", "ye", "woo", "ma"};
for (String str : babbling) {
for (String ban : joka) {
String sumBan = ban + ban;
str = str.replaceAll(sumBan, "X");
}
for (String bab : joka) {
str = str.replaceAll(bab, "O");
}
boolean check = true;
for (int i = 0; i < str.length(); i++) {
if (!"O".equals(str.substring(i , i+1))) {
check = false;
break;
}
}
if (check) answer++;
}
return answer;
}
'Programmers 문제풀이 > Lv.1' 카테고리의 다른 글
크레인 인형뽑기 게임 (0) | 2023.03.24 |
---|---|
[카카오 인턴] 키패드 누르기 (0) | 2023.03.24 |
카드 뭉치 (0) | 2023.03.23 |
완주하지 못한 선수 (0) | 2023.03.23 |
덧칠하기 (0) | 2023.03.23 |