📚 문제
✏️ 메모 1
1. babbling 의 인덱스를 돌면서 나온 단어와 Aya ye woo ma 에 맞는 문자열이 있는지 확인.
2. 있다면 그 단어를 확인하고 카운트 증가.
>> 까지 했다가 반례 발생.
✏️ 메모 2 (입출력 예시 2 참고.)
- 옹알이 단어의 조합이 있을 수 있음.
- 옹알이 단어를 모두 확인해야 함.
>> 어떻게?
💡. replace
- 옹알이 단어를 확인했다면 babbling[i]에서 해당 단어를 지워버림.
- babbling[i] 가 isEmpty()면 카운트 증가.
>> 이렇게 하면 babbling[i]에 글자가 남아있을 때.
옹알이 단어와 비교 했을 때, 지울 수 있는 경우와 지울 수 없는 경우가 있음.
>> 남아있는 글자를 모두 확인하고, isEmpty()면 카운트 증가 해야 함.
>> 옹알이 단어와 일치한 게 몇 개든 상관없음.
🔎 문제해결
문제해결 시간: 2시간 이상, 레퍼런스 참고.
class Solution {
public int solution(String[] babbling) {
int answer = 0;
String [] word = {"aya", "ye", "woo", "ma"};
for(int i = 0; i < babbling.length; i++) {
for(int j = 0; j < 4; j ++) {
if(babbling[i].contains(word[j])) {
// 이해를 위해 공백보다 * 표시를 함.
// 1. word에 해당하는 문자가 있으면 * 체크.
babbling[i] = babbling[i].replace(word[j], "*");
// 2. word 에 해당하는 문자를 다 확인 한 후
// 3. 또 한 번 replac를 통해 문자열을 비워서 확인함.
if( babbling[i].replace("*", "").isEmpty()) {
// 4. 이 때, 문자열이 비어 있으면 카운트.
answer ++ ;
}
}
}
}
return answer;
}
}
'Coding Test' 카테고리의 다른 글
[Coding Test] 프로그래머스 1단계 - 푸드 파이트 대회 (0) | 2024.10.24 |
---|---|
[Coding Test] 프로그래머스 1단계 - 두 개 뽑아서 더하기 (0) | 2024.07.30 |
[Coding Test] 프로그래머스 1단계 - k번째 수 (1) | 2024.07.29 |
[Coding Test] 프로그래머스 0단계 - 주사위 게임 3 (0) | 2024.07.27 |
[Coding Test] 프로그래머스 0단계 - 분수의 덧셈 (0) | 2024.07.25 |