코테/프로그래머스
[프로그래머스/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로 해주었더니 통과되었다...
🔺 다른 풀이들
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
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하는 걸로 해서 코드 길이를 줄임...
반응형