Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python에서 괄호의 균형이 맞는지 확인하는 프로그램

<시간/>

괄호 "(" 및 ")"로 구성된 문자열이 있다고 가정합니다. 괄호의 균형이 맞는지 확인해야 합니다.

따라서 입력이 s ="(()())(())"와 같으면 출력은 True

가 됩니다.

이 문제를 해결하기 위해 다음 단계를 따릅니다. −

  • num_open :=0
  • s의 각 문자 c에 대해 다음을 수행합니다.
    • c가 ')'와 같으면
      • num_open <0이면
        • num_open :=num_open - 1
      • 그렇지 않으면
        • 거짓을 반환
      • 그렇지 않으면
        • num_open :=num_open + 1
  • num_open의 역반환

이해를 돕기 위해 다음 구현을 살펴보겠습니다. −

예시

class Solution:
   def solve(self, s):
      num_open = 0
      for c in s:
         if c == ')':
            if num_open < 0:
               num_open -= 1
            else:
               return False
            else:
               num_open += 1
      return not num_open
ob = Solution()
print(ob.solve("(()())(())"))

입력

"(()())(())"

출력

False