>백엔드 개발 >C++ >C++를 사용하여 두 0 사이의 요소 제거

C++를 사용하여 두 0 사이의 요소 제거

WBOY
WBOY앞으로
2023-08-29 09:53:051336검색

C++를 사용하여 두 0 사이의 요소 제거

이 글에서는 0과 1개의 문자만 포함하는 주어진 문자열에서 두 개의 0 사이에 있는 요소를 제거하는 방법에 대해 설명합니다. 최종 문자열에는 0으로 둘러싸인 '1' 문자가 포함되어서는 안 됩니다. 예를 들어

Input : string = “110010”
Output : “11000”
Explanation: 1 is found between two zeros at the 4th index.

Input : string = “0010”
Output : “000”
Explanation : 1 is found between two zeros at the 2nd index.

해결책을 찾는 접근 방식

간단한 접근 방식을 적용할 수 있습니다. 즉, 루프를 사용하여 문자열을 탐색하고 이전 및 다음 요소가 0인지 확인하고, 그렇다면 해당 인덱스는 0이 아닙니다. 그런 다음 길이를 저장하는 새 길이로 변수를 업데이트하고 해당 문자열을 인쇄합니다.

Example

#include <bits/stdc++.h>
using namespace std;

int main () {
   string str = "110010";
   int length = str.length();
   for (int i = 1; i < length - 1; i++) {
      // checking the element between two zeros
      if ((str.at (i - 1) == &#39;0&#39; && str.at (i + 1) == &#39;0&#39;)) {
         // deleting the element
         // if it is found between two 0&#39;s
         str.erase (i, 1);

         i--;
         if (i > 0 && str.at (i - 1) == &#39;0&#39;)
            i--;

            // updating the length of the string after removing the element.
         length = str.length ();
      }
   }
   cout << "String after removing elements between the two zeros: " << str;
   return 0;
}

Output

String after removing elements between the two zeros: 1100

코드 이해

  • 루프를 사용하여 인덱스 1에서 (length-1)까지 문자열을 순회합니다. .
  • i번째 인덱스의 이전 인덱스와 다음 인덱스가 '0'인지 확인하세요.
  • '1'과 같으면 해당 인덱스에서 문자를 제거합니다.
  • 길이 변수를 새 변수로 업데이트하세요.
  • 마지막으로 루프가 끝난 후 업데이트된 문자열을 인쇄합니다.

결론

이 기사에서는 '0'과 '1' 문자가 포함된 문자열에서 두 개의 0 사이에 있는 요소를 제거하는 방법에 대해 설명했습니다. 우리는 동일한 문제를 해결하는 C++ 프로그램도 보았습니다. 이 프로그램을 C, Java, Python 등과 같은 다른 언어로 작성할 수 있습니다. 이 기사가 도움이 되었기를 바랍니다.

위 내용은 C++를 사용하여 두 0 사이의 요소 제거의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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