>  기사  >  백엔드 개발  >  문자열이 알파벳순으로 되어 있는지 확인하는 C++ 프로그램

문자열이 알파벳순으로 되어 있는지 확인하는 C++ 프로그램

WBOY
WBOY앞으로
2023-09-05 17:01:261306검색

문자열이 알파벳순으로 되어 있는지 확인하는 C++ 프로그램

n개의 소문자를 포함하는 문자열 S가 있다고 가정합니다. 문자열은 다음 규칙을 따르는 경우 엄격하게 알파벳 문자열입니다.

  • 빈 문자열을 T

  • 그런 다음 다음 단계를 n 번 수행합니다.
  • 단계 i에서 라틴 문자를 제거합니다. 테이블의 i번째 소문자를 입력하고 문자열 T의 왼쪽 또는 문자열 T의 오른쪽(c는 라틴 알파벳의 i번째 문자)입니다.

S가 알파벳 문자열 순서로 엄격하게 정렬되어 있는지 확인해야 합니다.

문제 카테고리

이 문제를 해결하려면 문자열을 조작해야 합니다. 프로그래밍 언어의 문자열은 특정 배열과 같은 데이터 유형으로 저장된 문자 스트림입니다. 다국어 문자열을 특정 데이터 유형(예: Java, C++, Python) 및 기타 여러 언어로 지정합니다. 문자열을 문자 배열(예: C)로 지정합니다. 문자열은 프로그래밍에 유용합니다. 종종 다양한 애플리케이션에서 선호되는 데이터 유형이며 입력 데이터 유형으로 사용됩니다. 그리고 출력. 문자열 검색, 부분 문자열 생성 등 다양한 문자열 작업이 있습니다. 문자열 제거 작업, 문자열 번역 작업, 문자열 교체 작업, 문자열 역방향 작업 등. 문자열이 어떻게 사용되는지 보려면 아래 링크를 확인하세요. C/C++에서 사용됩니다.

https://www.tutorialspoint.com/cplusplus/cpp_strings.htm

https://www.tutorialspoint.com/cprogramming/c_strings. htm

그래서 문제에 대한 입력이 S = "ihfcbadeg"와 같으면 출력은 True가 됩니다.

단계

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

len := size of S
for initialize i := len, when i >= 1, update (decrease i by 1), do:
   if S[l] is the i th character, then:
      (increase l by 1)
   otherwise when S[r] is the ith character, then:
      (decrease r by 1)
   Otherwise
      Come out from the loop
if i is same as 0, then:
   return true
Otherwise
   return false

Example

더 나은 이해를 위해 다음 구현을 살펴보겠습니다. -

#include <bits/stdc++.h>
using namespace std;
bool solve(string S){
   int len = S.size(), l = 0, r = len - 1, i;
   for (i = len; i >= 1; i--){
      if (S[l] - &#39;a&#39; + 1 == i)
         l++;
      else if (S[r] - &#39;a&#39; + 1 == i)
         r--;
      else
         break;
   }
   if (i == 0)
      return true;
   else
      return false;
}
int main(){
   string S = "ihfcbadeg";
   cout << solve(S) << endl;
}

Input

"ihfcbadeg"

Output

1

위 내용은 문자열이 알파벳순으로 되어 있는지 확인하는 C++ 프로그램의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제