N

(SWEA c++)1213. [S/W 문제해결 기본] 3일차 - String 본문

SW Expert Academy

(SWEA c++)1213. [S/W 문제해결 기본] 3일차 - String

naeunchan 2020. 10. 7. 10:14
728x90
반응형

swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV14P0c6AAUCFAYi&categoryId=AV14P0c6AAUCFAYi&categoryType=CODE

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

10번의 test case가 주어진다.

테스트 케이스 번호, 찾으려 하는 단어, 주어지는 string을 각각 int형 n, string형 search, string형 s 변수에 넣어 주도록 한다.

size는 search의 크기를 나타내고, substr()함수를 이용할 때 search의 크기만큼 자르기 위해 사용한다.

 

s의 크기 만큼 for문을 돈다.

만약 s.substr(j, size)가 search와 같다면 해당 답을 +1 해준다.

그리고 j += size 해주어 자르기 시작하는 인덱스를 늘려주도록 한다.

#include <iostream>
#include <algorithm>
#include <string>

using namespace std;

int main(void)
{
    for(int i = 1; i <= 10; i++)
    {
        int n, size;
        string s, search;
        
        cin >> n;
        cin >> search;
        cin >> s;
        size = search.size();
        
        n = 0;
        
        for(int j = 0; j < s.size(); j++)
        {
            if(search == s.substr(j, size))
            {
                n++;
                j += size;
            }
        }
        
        cout << "#" << i << " " << n << endl;
    }
    return 0;
}
            
728x90
반응형