문제 설명
영어 소문자로 구성된 두 문자열
-
와 의 길이가 같다. -
모든 가능한 정수
와 에 대해 의 번째와 번째 글자가 같으면 의 번째와 번째 글자도 같다. -
모든 가능한 정수
와 에 대해 의 번째와 번째 글자가 다르면 의 번째와 번째 글 자도 다르다.
예를 들어,
문자열
예를 들어,
여러분은 다음 함수를 작성하여야 한다
- int findP( char T [], char P [], int N, int M ) : T는 길이 N+1인 배열(문자열)이다. P 는 길이 M+1인 배열이다. T와 P에는 각각 길이 N과 M인 영어 소문자 문자열이 저장되어 있 다. T와 P의 마지막 위치에는 ‘\0’이 저장되어 있다. findP는 T의 연속된 부분문자열들 중 P와 사실상 같은 부분문자열의 개수를 리턴해야 한다.
구현 세부사항
다음의 함수 가 구현되어 있어야 한다.
- int findP( char T [], char P [], int N, int M )
이 함수는 위에서 설명한 것과 같이 동작하여야 한다. 물론 다른 함수들을 만들어서 내부적으로 사용할 수 있다. 제출한 코드는 입출력을 수행하거나 다른 파일에 접근하여서는 안된다.
제한 조건
서브태스크 1 [ 8 points]
서브태스크 2 [ 5 points]
서브태스크 3 [ 12 points]
서브태스크 4 [ 75 points]
- 원래 제한 조건 이외의 추가적인 제한 조건이 없음
입력 설명
line 1: 문자열
line 2: 문자열
출력 설명
findP() 함수에서 리턴한 값을 한 줄에 출력한다.
입력 예시 Copy
abababbab
pqp
출력 예시 Copy
5
도움
위의 입력에서 함수가 호출되는 예를 보면 다음과 같다.
호출: findP( "abababbab", "pqp", 9, 3)
리턴값: 5