7017 : 문자열 패턴 개수 세기
•시간제한: 1.000 S
•메모리제한: 256 MB
•제출: 2
•통과: 1
•만든사람: suakii
문제 설명
$N$개의 줄에 걸쳐 본문 문자열과 찾고자 하는 패턴 문자열이 주어질 때, 본문에서 패턴이 등장하는 총 횟수를 세어 출력하는 프로그램을 작성하시오.
단, 패턴이 나타나는 영역이 부분적으로 겹치는 중복 등장의 경우도 모두 개별 횟수로 인정하여 세어야 한다. (예: `aaaa`에서 `aa`는 `[0,1]`, `[1,2]`, `[2,3]`의 3번)
[제약 조건]
• 데이터 쌍 수 $N$: $1 \le N \le 50$
• 본문 길이: $\le 1{,}000$, 패턴 길이: $\le 50$
[제약 조건]
• 데이터 쌍 수 $N$: $1 \le N \le 50$
• 본문 길이: $\le 1{,}000$, 패턴 길이: $\le 50$
입력 설명
첫째 줄에 데이터 개수 주어진다. 둘째 줄부터 줄에 본문 문자열과 패턴 문자열이 공백으로 구분되어 한 줄씩 주어진다. ($1 \le N \le 50$, 본문 길이 $\le 1000$, 패턴 길이 $\le 50$)
출력 설명
각 줄별로 패턴이 등장하는 총 횟수를 한 줄에 하나씩 출력한다.
입력 예시
COPY
복사되었습니다!
복사되었습니다!
3
aaaa aa
abababa aba
hello l
출력 예시
COPY
복사되었습니다!
복사되었습니다!
3
3
2
도움
시작 위치를 1씩 옮겨가며 substring 매치 여부를 수동으로 확인해야 겹치는 패턴을 누락 없이 셀 수 있다.