반응형
🔺 문제
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
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하는 걸로 해서 코드 길이를 줄임...
반응형
'코테 > 프로그래머스' 카테고리의 다른 글
[프로그래머스/Lv. 1] 푸드 파이트 대회 (0) | 2023.03.15 |
---|---|
[프로그래머스/Lv. 1] 콜라 문제 (0) | 2023.03.14 |
[프로그래머스/Lv. 1] 명예의 전당 (1) (0) | 2023.03.13 |
[프로그래머스/Lv. 1] 최소직사각형 (0) | 2023.03.12 |
[프로그래머스/Lv. 1] 2016년 (0) | 2023.03.11 |