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

C++에서 길게 눌러진 이름

<시간/>

한 남자가 키보드로 이름을 입력하고 있다고 가정합니다. 간혹 실수로 버튼을 길게 누르는 경우가 있습니다. 따라서 하나 이상의 추가 문자를 입력할 수 있습니다. 따라서 두 개의 문자열을 가져와서 두 번째 문자열이 길게 눌러진 이름인지 여부를 확인합니다. 따라서 이름이 "Amit"이고 두 번째 문자열이 "Ammittt"이면 길게 눌러진 이름입니다. 그러나 "Ammttt"는 여기에 있지 않습니다. 왜냐하면 캐릭터 i가 여기에 없기 때문입니다.

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

  • j :=0
  • i:=0, i
  • j <실제 이름.크기 및 실제 이름[j] =초[i]인 경우 j를 1만큼 증가
  • j =actual_name.size이면 true를 반환하고, 그렇지 않으면 false를 반환
  • 이해를 돕기 위해 다음 구현을 살펴보겠습니다. −

    #include <bits/stdc++.h>
    using namespace std;
    class Solution {
       public:
       bool isLongPressedName(string name, string typed) {
          int j = 0;
          for(int i = 0; i < typed.size(); i++){
             if(j < name.size() && name[j] == typed[i])j++;
          }
          return j == name.size();
       }
    };
    main(){
       Solution ob;
       string res = ob.isLongPressedName("Amit", "Ammittt") ? "true" :
       "false";
          cout << res;
    }

    입력

    "Amit"
    "Ammittt"

    출력

    true