C++/programmers 코딩테스트(level 0) C++
[C/C++] programmers Level 0 문자열이 몇 번 등장하는지 세기
CE : 하랑
2023. 8. 1. 12:40
문제 설명
문자열 myString과 pat이 주어집니다. myString에서 pat이 등장하는 횟수를 return 하는 solution 함수를 완성해 주세요.
제한사항
1 ≤ myString ≤ 1000
1 ≤ pat ≤ 10
입출력 예
myString pat result
"banana" "ana" 2
"aaaa" "aa" 3
입출력 예 설명
입출력 예 #1
"banana"에서 1 ~ 3번 인덱스에서 한 번, 3 ~ 5번 인덱스에서 또 한 번 "ana"가 등장해서 총 두 번 등장합니다. 따라서 2를 return 합니다.
입출력 예 #2
"aaaa"에서 0 ~ 2번 인덱스에서 한 번, 1 ~ 3번 인덱스에서 한 번, 2 ~ 4번 인덱스에서 한 번 "aa"가 등장해서 총 세 번 등장합니다. 따라서 3을 return 합니다.
코드
#include <string>
#include <vector>
using namespace std;
int solution(string myString, string pat) {
int answer = 0;
for(int i=0;i<=myString.size()-pat.size();i++){
if(myString.substr(i,pat.size())==pat){ //substr -> 문자열 추출 (시작인덱스, 인덱스 범위 길이)
answer=answer+1;
}
}
return answer;
}