문제 설명
문자열 myString과 pat이 주어집니다. myString에서 pat이 등장하는 횟수를 return 하는 solution 함수를 완성해 주세요.
제한사항
- 1 <= myString <= 1000
- 1 <= pat <= 10
입출력 예
myString | pat | result |
"banana" | "ana" | 2 |
"aaaa" | "aa" | 3 |
class Solution {
public int solution(String myString, String pat) {
int answer = 0;
for (int i = 0; i <= myString.length() - pat.length(); i++) {
if (myString.substring(i, i + pat.length()).equals(pat)) {
answer++;
}
}
return answer;
}
}
for문이 myString의 길이에서 pat의 길이만큼 뺀 값만큼 순회합니다. if문에서 substring 메소드를 이용하여 문자열 myString을 i부터 i에 pat의 길이만큼 더한 값만큼 자릅니다. 이를 equals 메소드를 이용하여 문자열 pat과 동일한지 비교합니다. 이 과정은 비교하고자 하는 원래 문자열을 pat과 같은 길이로 잘라 비교하고, 다음 인덱스로 넘어가는 과정을 반복하면서 pat이 몇 번 등장하는지 확인하는 것입니다.
'프로그래머스 > Lv. 0(코딩 기초 트레이닝)' 카테고리의 다른 글
[프로그래머스 코딩테스트] 배열의 길이를 2의 거듭제곱으로 만들기(Java) (0) | 2023.05.25 |
---|---|
[프로그래머스 코딩테스트] 배열 만들기 4(Java) (0) | 2023.05.24 |
[프로그래머스 코딩테스트] 문자열 잘라서 정렬하기(Java) (0) | 2023.05.22 |
[프로그래머스 코딩테스트] 순서 바꾸기(Java) (0) | 2023.05.22 |
[프로그래머스 코딩테스트] 배열 만들기 3(Java) (0) | 2023.05.21 |