문제
풀이
import java.util.*;
class Solution {
public int solution(String[] babbling) {
int count = 0;
for (String word : babbling) {
if (isPossible(word))
count++;
}
return count;
}
private boolean isPossible(String word) {
if (word.equals(""))
return true;
if (word.startsWith("aya"))
return isPossible(word.substring(3));
if (word.startsWith("ye"))
return isPossible(word.substring(2));
if (word.startsWith("woo"))
return isPossible(word.substring(3));
if (word.startsWith("ma"))
return isPossible(word.substring(2));
return false;
}
}
class Solution {
public int solution(String[] babbling) {
int answer = 0;
for(int i = 0; i < babbling.length; i++) {
if(babbling[i].matches("^(aya(?!aya)|ye(?!ye)|woo(?!woo)|ma(?!ma))+$")){
answer++;
}
}
return answer;
}
}
class Solution {
public int solution(String[] babbling) {
int answer = 0;
for(int i = 0; i < babbling.length; i++) {
babbling[i] = babbling[i].replace("aya", "1");
babbling[i] = babbling[i].replace("woo", "1");
babbling[i] = babbling[i].replace("ye", "1");
babbling[i] = babbling[i].replace("ma", "1");
babbling[i] = babbling[i].replace("1", "");
if(babbling[i].isEmpty()) {
answer = answer + 1;
}
}
return answer;
}
}
출처
https://school.programmers.co.kr/learn/courses/30/lessons/120956
'Algorithm > Programmers' 카테고리의 다른 글
[Programmers] Lv.0 / 연속된 수의 합 / Java (0) | 2024.03.19 |
---|---|
[Programmers] Lv.0 / 다음에 올 숫자 / Java (0) | 2024.03.19 |
[Programmers] Lv.0 / 이차원 배열 대각선 순회하기 / Java (0) | 2024.03.15 |
[Programmers] Lv.0 / 정사각형으로 만들기 / Java (0) | 2024.03.14 |
[Programmers] Lv.0 / 특별한 이차원 배열 2 / Java (0) | 2024.03.14 |
댓글