Python의 최적화 균형 해결 방안

1189 단어
질문:
표현식 문자열을 지정하고, 주어진 문자열에 균형 괄호가 있는지 찾기 위해python 프로그램을 작성합니다.
샘플 테스트 용례:
입력: "([{}])"
출력: 예
그럼에도 불구하고, 너는 이미 이 문제를 해결하는 방법을 많이 보았다.예를 들어 창고, 대기열, 심지어 체인 테이블과
도형 알고리즘도 사용한다.여기서 나는 균형 괄호 문제를 해결하기 위해 매우 간단하고 알기 쉬운 전략을 공유한다.
우리는 문자열의 교체 방법을 사용하여 그것을 해결할 수 있다.
자, 시작합시다.string = input()우선, 우리는 입력 문자열이 일련의 괄호를 포함한다고 가정할 것이다.
> n=-1
> while len(s)!=n:
>    n=len(s)
>    s=s.replace('()','')
>    s=s.replace('[]','')
>    s=s.replace('{}','')
> if len(s)==0:
>    print("Balanced")
> else:
>    print("Imbalanced")
문자열과 n의 길이가 같을 때까지 순환을 실행할 것입니다.순환 내부에서 우리는 문자열의 길이를 n으로 해서 n은 과거의 길이를 저장할 수 있다.현재, 우리는 빈 문자열로 일치하는 괄호를 바꾸려고 합니다. 예를 들어 [], {}, ().다시 한 번 문자열 길이를 과거 길이 n과 비교합니다.
일치하는 괄호가 더 이상 없을 때, 이것은 동일하게 변할 것이다.이러한 상황은 두 가지 상황에서 나타날 수 있다.
  • 문자열이 균형을 이루고 끊임없이 바뀌어 빈 문자열이 될 때.
  • 파이프 기둥이 불균형하고 브래킷을 교체할 필요가 없을 때.
  • 만약 우리가 출력에서 빈 문자열을 얻게 된다면, 우리는 균형 잡힌 괄호 문자열을 얻게 될 것이다. 그렇지 않으면 우리는 불균형한 문자열을 얻게 될 것이다.
    이 답안이 당신이 더욱 경쟁력 있는 프로그래머가 되는 데 도움을 줄 수 있기를 바랍니다.설명 섹션에 질문이 있으신 것을 환영하며 코드 작성을 계속하십시오.)

    좋은 웹페이지 즐겨찾기