Game Develop

[Algorithm] Baekjoon 2195번 : 문자열 복사 본문

Algorithm/Baekjoon

[Algorithm] Baekjoon 2195번 : 문자열 복사

MaxLevel 2023. 3. 7. 01:12

https://www.acmicpc.net/problem/2195

 

2195번: 문자열 복사

첫째 줄에 S, 둘째 줄에 P가 주어진다. S와 P는 영어 대소문자와 숫자로만 되어 있다. S의 길이는 1,000을 넘지 않으며, P의 길이는 1,000을 넘지 않는다. copy함수만을 이용하여 S에서 P를 만들어낼 수

www.acmicpc.net

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
int main()
{
    ios::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
 
    string s, p;
 
    cin >> s >> p;
 
    int sSize = s.size();
    int pSize = p.size();
    int result = 0;
 
    for (int i = 0; i < pSize;) 
    {
        int maxCount = 0;
 
        for (int j = 0; j < sSize; ++j)
        {
            int count = 0;
 
            while (p[i + count] == s[j + count]) ++count;
            maxCount = max(maxCount, count);
        }
 
        ++result;
        i += maxCount;
    }
 
    cout << result;
}
cs

이런 index계산하는게 아직 쉽게 안풀린다.

문제는 그냥 완전탐색처럼 푸는 문제다. 시간제한은 2초인데 n이 최대 1000이라 가능하다.