C 컴파일러는 문자열을 문자 배열로 처리하므로 위치에 따라 문자열에서 문자를 쉽게 제거할 수 있습니다. 문자열의 첫 번째 위치와 마지막 위치에 괄호가 있는지 확인하고 제거해야 합니다. 문자열을 다른 변수에 복사하여 표시할 수 있습니다.
C에는 문자열을 조작하는 데 효율적으로 사용할 수 있는 사전 정의된 함수가 많이 있습니다. C 언어에서는 함수의 도움을 받아 시작 위치나 끝 위치에서 문자를 쉽게 삭제할 수 있습니다.
괄호는 입력 문자열의 일부인 단일 문자이며 아래 제공된 논리 및 알고리즘에 따라 문자열에서 제거될 수 있습니다
문자는 키보드에 있는 모든 영숫자 키이며 C의 문자 변수에 저장됩니다.
()는 c에서 대괄호라고 합니다. 사용자가 입력한 문자열에서 이 문자를 식별하고 문자열에서 제거해야 합니다.
배열은 단일 이름과 연속된 숫자로 주소가 지정된 여러 저장 위치를 갖는 변수인 반면, 문자열은 문자 배열입니다.
정규식을 풀 때처럼 문자열에서 대괄호를 제거해야 하는 상황이 많이 있습니다.
countRemoval 함수는 문자열 str을 입력으로 받아들이고 문자열의 균형 잡힌 대괄호 하위 시퀀스를 모두 비우는 데 필요한 제거 쌍 수를 나타내는 정수 값을 반환합니다. 이 함수는 변수 count를 사용하여 필요한 삭제 횟수를 추적하며 처음에는 0으로 설정됩니다. 또한 Balance 변수를 사용하여 문자열의 여는 괄호와 닫는 괄호 수 사이의 균형을 추적합니다. 그런 다음 함수는 문자열 길이를 반복하고 각 인덱스의 문자를 확인합니다. 문자가 왼쪽 괄호이면 잔액이 1 증가하고, 오른쪽 괄호이면 잔액이 1 감소합니다. 잔액이 마이너스가 되면 오른쪽 괄호가 추가되어 제거 횟수에 1이 추가되고 잔액이 0으로 재설정된다는 의미입니다. 루프 후에는 남은 잔액을 문자열의 모든 균형 괄호 하위 시퀀스를 비워 두는 데 필요한 삭제 금액으로 나눈 나머지 잔액을 포함하도록 개수가 업데이트됩니다.
으아아아1단계 - str1, str2가 null로 초기화되었음을 선언합니다.
2단계 - 정수 변수 len,n,i
3단계 - 콘솔에서 str1 수락
4단계 - 첫 번째 문자가 (
5단계 - n = 1인 경우
6단계 - n
7단계 - str2의 마지막 문자가 )인지 확인하세요.
8단계 - 그렇다면 다음으로 바꿉니다.
- 입력 문자열 빼기 기호()가 포함된 str2를 인쇄합니다.
- 무차별 재귀: 첫 번째 방법에서는 무차별 재귀를 사용하여 가능한 모든 하위 시퀀스를 찾고 균형이 맞는지 확인합니다. 하위 시퀀스가 균형을 이루면 대괄호 쌍을 제거하고 삭제된 대괄호 쌍의 수를 계산합니다. 문자열을 비우는 데 필요한 최소 쌍 삭제 수를 계산합니다.
방법 2- 동적 프로그래밍: 두 번째 방법은 동적 프로그래밍을 사용하여 솔루션을 최적화합니다. 2D DP 테이블을 사용하여 인덱스 "i"에서 "j"까지 하위 문자열에 필요한 최소 삭제 횟수를 저장할 수 있습니다. 문자열을 반복하고 주어진 기준에 따라 DP 테이블을 채웁니다. 방법 1 폭력 재귀
출력
으아아아출력
으아아아프로그램에서 괄호 제거는 C 프로그래밍의 기본적이고 간단한 개념을 구현함으로써 이루어집니다.
위 내용은 균형을 이룬 모든 대괄호 부분 수열이 비어 있도록 제거해야 하는 쌍의 수를 계산합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!