문자열 str[]과 숫자 n이 주어집니다. 목표는 길이가 n인 str[]의 모든 부분 문자열을 찾는 것입니다. string이 "abcde"이고 n=3이면 길이가 3인 부분 문자열은 "abc", "bcd", "cde"이고 count는 3입니다.
예를 들어 이해합시다.
입력 − str[] ="컴퓨터" n=4
출력 − 주어진 문자열에서 가능한 길이가 n인 부분 문자열의 개수는 − 5입니다.
설명 − 길이가 4인 부분 문자열은 "comp", "ompu","mput", "pute", "uter"입니다.
입력 − str[] ="개발" n=5
출력 - 주어진 문자열에서 가능한 길이가 n인 부분 문자열의 개수는 - 7입니다.
설명 − 길이가 5인 부분 문자열은 "devel", "evelo", "velop", "elopm", "lopme", "opmen", "pment"입니다.
아래 프로그램에서 사용된 접근 방식은 다음과 같습니다.
문자열 str[]의 길이를 L로 취하면 str[] 내부의 길이가 n인 부분 문자열의 개수는 Ln+1입니다. 문자열이 "abcdefghi"이고 n이 4이면 하위 문자열은 "abcd", "bcde", "cdef", "defg", "efgh", "fghi"가 됩니다. 개수는 6입니다. 또한 9-4+1=6입니다.
-
문자열을 가져옵니다.
-
n을 정수로 사용합니다.
-
함수 possible_substring(string str, int length, int n)은 문자열, 길이 n을 취하고 길이가 n인 str의 부분 문자열 개수를 반환합니다.
-
변수 개수를 가져오세요.
-
세트 수 =길이-n+1.
-
마지막에 결과로 카운트를 반환합니다.
예시
#include <bits/stdc++.h> using namespace std; int possible_substring(string str, int length, int n){ int count = length - n + 1; return count; } int main(){ string str = "learning"; int length = str.length(); int n = 2; cout<<"Count of substrings of length n possible from the given string are: "<<possible_substring(str, length, n); return 0; }
출력
위의 코드를 실행하면 다음 출력이 생성됩니다 -
Count of substrings of length n possible from the given string are: 7