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

C++에서 추가 대괄호를 제거한 후 문자열 균형 조정

<시간/>

문자열은 문자 배열입니다. 이 문제에서는 여는 괄호와 닫는 괄호가 있는 문자열이 제공됩니다. 그리고 문자열에서 추가 괄호를 제거하여 이 문자열의 균형을 맞출 것입니다.

예를 들어 보겠습니다.

입력 :")Tutorials(p(oin)t(...)" 출력 :"Tutorials(p(oin)t(...))"

이 문제를 해결하기 위해 문자열을 탐색하고 일치하는 대괄호를 확인합니다. 일치하지 않는 대괄호의 경우 닫는 대괄호를 제거하십시오.

알고리즘

Step 1 :문자열을 왼쪽에서 오른쪽으로 순회한다. Step 2 :여는 대괄호 '(' 의 경우 출력하여 카운트를 증가시킨다. 3 단계 :닫는 대괄호 ')' 의 경우 count가 더 클 때만 출력한다. 0보다 작고 count.Step 4 :대괄호 이외의 모든 문자가 배열에 출력됩니다.Step 5 :마지막에 닫는 대괄호 ')'를 추가하여 모든 대괄호로 count를 감소시켜 카운트를 0으로 만듭니다. 

예시

#include#include네임스페이스 std 사용;void 균형 괄호(문자열 str){ int count =0, i; 정수 n =str.length(); for (i =0; i  

출력

원본 문자열 :)Tutor)ials(p(oin)t(...)균형 문자열 :Tutorials(p(oin)t(...))