[프로그래머스 / C++] 문자열이 몇 번 등장하는지 세기

YH·2023년 11월 27일
0

문제

문자열이 몇 번 등장하는지 세기 : 문제 링크


문제 분석

  • 문자열 myStringpat이 주어진다. myString에서 pat이 등장하는 횟수를 return
  • myString에서 pat이 등장하는 횟수를 저장할 answer을 0으로 초기화. for loop를 통해 myString의 첫번째부터 마지막 인덱스에서 pat의 길이만큼 빼고 +1한 위치까지 순환. if문과 substr() 함수를 통해 myString의 인덱스 i부터 pat의 길이만큼 자른 문자가 문자열 pat와 동일하다면 answer을 1만큼 증가. 최종적으로 저장된 answer을 return

substr() 함수 사용법
1. str.substr(n, m);
=> index n에서 시작하는 m개의 문자를 잘라서 string으로 return
2. str.substr(n);
=> index n에서 str 문자열의 마지막까지 잘라서 string으로 return


풀이

#include <string>

using namespace std;

int solution(string myString, string pat) {
    int answer = 0;
    
    for(int i = 0; i < myString.size() - pat.size() + 1; ++i) {
        if(myString.substr(i, pat.size()) == pat) answer++;
    }
    return answer;
}
profile
Keep Recycling Your Dreams

0개의 댓글