1. 문제
2. 초기의 생각
첫 나의 코드문제가 옹알이 인데.. 넘 어렵게 느껴지는 문제였다.. 중복되는 문자를 바꾸면 된다는 것은 생각은 했으나 어떤 방식으로 해결 해 나가야 하는 지 몰라 힘들게 느껴졌던 문제다.
3. 답
코집사님의 문제 풀이로 문제를 풀어 나갔다. 여기서 내가 배웠던 점은 3번에 정리 하겠다.
class Solution {
public int solution(String[] babbling) {
int answer = 0 ;
String[] originalBabList = {"aya", "ye", "woo", "ma"};
String[] repeatBabList = {"ayaaya", "yeye", "woowoo", "mama"};
for(String bab : babbling) {
for(String rBab : repeatBabList) {
bab = bab.replace(rBab, "X");
}
for(String oBab : originalBabList) {
bab = bab.replace(oBab, "?");
}
int sign = 0 ;
for(int i = 0; i<bab.length(); i ++) {
if(!bab.subSequence(i, i+1).equals("?")) {
sign = 1;
break;
}
}
if(sign == 0) {
answer++;
}
}
return answer;
}
}
4. 공부한 부분
- subSequence()
public CharSequence subSequence(int beginIndex, int endIndex)
배열의 안에 있는 문자열을 인자(beginIndex, endIndex) 넘버에 맞게 가져오는 메소드
결국은 해석은 bab.subSequence(0,1)에 "?"가 있으면 sign에 +1 을 해주어 해당 하는 문자가 몇개가 있는지 확인해주는 방법이다.