코테/프로그래머스

[프로그래머스/Level1] 옹알이 (2)

imname1am 2023. 3. 13. 19:40
반응형

🔺 문제

 

프로그래머스

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

programmers.co.kr

 

 

🔺 코드

 

[프로그래머스] Lv.1 옹알이(2) (Java)

문제 나의 풀이 정말 정석적으로 생각했다. 각 String을 돈다 index의 char을 확인한다. 이전 문자와 같은 문자라면 break; (같은 발음이 연속될 수 없으므로) a/y/u/m 네 문자 중 하나인지 확인하고, 그

velog.io

import java.util.*;

class Solution {
    public int solution(String[] babbling) {
        int answer = 0;
        
        for(int i=0 ; i < babbling.length ; i++) {
            
            if(babbling[i].contains("ayaaya") || babbling[i].contains("yeye") || babbling[i].contains("woowoo") || babbling[i].contains("mama")) {
                continue;
            }
            
            babbling[i] = babbling[i].replace("aya", " ");
            babbling[i] = babbling[i].replace("ye", " ");
            babbling[i] = babbling[i].replace("woo", " ");
            babbling[i] = babbling[i].replace("ma", " ");
            babbling[i] = babbling[i].replace(" ", "");
            
            if(babbling[i].length() == 0) answer++;
        }
        
        return answer;
    }
}

✅  replace냐 replaceFirst냐에 따라 통과 여부에 차이가 남,,,!

 

저번에 썼던 옹알이 (1)랑 똑같은 코드로 돌렸더니 (replaceFirst 씀)  틀린  TC 생기길래 다른 코드로 했다...

replace로 해주었더니 통과되었다...

 

엥 7점이나,,,?

 

 


🔺 다른 풀이들

 

프로그래머스

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

programmers.co.kr

class Solution {
    public int solution(String[] babbling) {
        int answer = 0;
        String[] filter = {"aya", "ye", "woo", "ma"};
        for(int i = 0 ; i < babbling.length ; i++){
            for(int j = 0; j < filter.length; j++){
                if(!babbling[i].contains("ayaaya") && !babbling[i].contains("yeye") &&!babbling[i].contains("woowoo")&&!babbling[i].contains("mama"))
                babbling[i] = babbling[i].replace(filter[j]," ");   
            }
            babbling[i] = babbling[i].replace(" ", "");
            if(babbling[i] == "")   answer ++;
        }
        return answer;
    }
}

위랑 비슷한데 발음 배열을 만들어놓고 이거랑 맞을 때 replace하는 걸로 해서 코드 길이를 줄임...

반응형