Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++에서 문자열이 다른 문자열인지 확인하는 프로그램

<시간/>

두 개의 문자열 S와 T가 있다고 가정합니다. S가 T의 하위 시퀀스인지 여부를 확인해야 합니다.

따라서 입력이 S ="abc", T ="adbrcyxd"와 같으면 출력은 True

가 됩니다.

이 문제를 해결하기 위해 다음 단계를 따릅니다. −

  • s가 t와 같으면 -

    • true를 반환

  • n :=s의 크기, m :=t의 크기

  • j :=0

  • initialize i :=0의 경우, i

    • t[j]가 s[i]와 같으면 -

      • (j를 1씩 증가)

    • j가 t의 크기와 같으면 -

      • true를 반환

  • 거짓을 반환

이해를 돕기 위해 다음 구현을 살펴보겠습니다. −

예시

#include <bits/stdc++.h>
using namespace std;
class Solution {
   public:
   bool solve(string t, string s) {
      if(s == t)
      return true;
      int n = s.size();
      int m = t.size();
      int j = 0;
      for(int i = 0; i < n; i++){
         if(t[j] == s[i])
         j++;
         if(j == t.size())
         return true;
      }
      return false;
   }
};
main(){
   Solution ob;
   string S = "abc", T = "adbrcyxd";
   cout << ob.solve(S, T);
}

입력

"abc", "adbrcyxd"

출력

1