programmers | 옹알이(1) [Java]

yeonk·2022년 11월 8일
0

algorithm

목록 보기
86/88
post-thumbnail

💡 Java






🔗 문제

옹알이(1) [Link]






💻 코드

그렇게 효율적이진 않은 것 같다.

import java.util.*;

class Solution {
    public int solution(String[] babbling) {
        List<String> babblingList = List.of("aya", "ye", "woo", "ma");  
        int result = 0;
        
        for (String str : babbling) {
            if (verifyStr(str, babblingList)) result++;
        }
        
        return result;
    }
    
    public boolean verifyStr(String str, List<String> babblingList) {
        StringBuilder sb = new StringBuilder();
        
        for(char c : str.toCharArray()) {
            sb.append(c);
            
            if (babblingList.contains(sb.toString())) {
                sb.setLength(0);
                
            }
        }
        return sb.length() == 0;
    }
}






다른 사람 코드

class Solution {
    public int solution(String[] babbling) {
        int answer = 0;
        for (String s : babbling) {
            if (s.contains("ayaaya") || s.contains("yeye") || s.contains("woowoo") || s.contains("mama")) {
                continue;
            }
            String result = s.replaceAll("aya", "").replaceAll("ye", "").replaceAll("woo", "").replaceAll("ma", "");

            if (result.length() == 0) {
                answer ++;
            }
        }
        return answer;
    }
}






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;
    }
}

0개의 댓글