이 자습서에서는 쌍(01 및 10)에서 이진 문자열을 해제하기 위해 총 쌍(01 또는 10) 수를 찾는 프로그램을 작성할 것입니다. 예를 들어 보겠습니다.
입력 − 101010001
출력 - 4
위의 예에서 쌍(01 및 10)에서 이진 문자열을 해제하려면 총 4개의 쌍을 삭제해야 합니다.
모든 쌍을 삭제한 후 결과 문자열은 0입니다. .
모든 01을 삭제해야 합니다. 및 10 이진 문자열에서 쌍. 따라서 삭제할 총 쌍 수는 최소 count(1)개입니다. 및 카운트(0) .
문제를 해결하는 단계를 살펴보겠습니다.
-
바이너리 문자열을 초기화합니다.
-
0과 1의 수를 찾으십시오.
-
0과 1에서 최소값을 인쇄합니다.
예시
코드를 봅시다.
#include <bits/stdc++.h> using namespace std; int findMinimumNumberOfDeletions(string str, int len) { int zeroes_count = 0, ones_count = 0; // counting zeroes and ones for (int i = 0; i < len; i++) { if (str[i] == '0') { zeroes_count++; } else { ones_count++; } } return min(zeroes_count, ones_count); } int main() { string str = "101010001"; int len = str.length(); cout << findMinimumNumberOfDeletions(str, len) << endl; return 0; }
출력
위의 프로그램을 실행하면 다음과 같은 결과를 얻을 수 있습니다.
4
결론
튜토리얼에서 질문이 있는 경우 댓글 섹션에 언급하세요.