알고리즘

백준 16916 부분 문자열

kcj3054 2021. 10. 13. 01:41

문제

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

설명

그냥 p문자열안에 s가 있는지 확인 하는 것이다.

주의

  • string s, p;

  • strstr이 매우 빠르다는 이야기를 듣고 사용하니 strstr(s, p)에서 에러가 터져서 cpp refer를 보니 char* strstr(char* str1, const char* str2)이었다.

  • 이문제를 처음에는 무지성 구현 -> 첫문자 갯수를 저장해서 그것만 실행 -> 이후에도 안되서 질문을 하다가 어떤분이 find를 사용하면 선형시간에 가능하다고 하셨다 그러나 이 문제는 find 함수가 저격이 되어서 안된다.. 이후에 strstr를 배우고 통과

소스

#include <bits/stdc++.h>

using namespace std;

char s[1000001], p[1000001];
int main() {

    cin >> s >> p;

    if (strstr(s, p) != NULL) {
        cout << "1";
    }
    else cout << "0";
    return 0;
}