본문 바로가기
알고리즘

백준 16916 부분 문자열

by kcj3054 2021. 10. 13.

문제

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;
}

'알고리즘' 카테고리의 다른 글

진법 변환  (0) 2021.10.23
백준 16719 zoac  (0) 2021.10.13
가장 긴 증가하는 부분 수열 4 , 백준 14002  (0) 2021.10.12
백준 1520 내리막길  (0) 2021.10.11
백준 1932 정수삼각형  (0) 2021.10.10