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

Python에서 문자열이 ^n b^n 패턴을 따르는지 확인하십시오.

<시간/>

문자열이 a^nb^n 패턴을 따르는지 여부를 확인해야 하는 문자열이 있다고 가정합니다. 이것은 실제로 n =3일 때 문자열이며 문자열은 "aaabbb"가 됩니다.

따라서 입력이 s ="aaaaabbbbb"와 같으면 출력은 a^5b^5 다음과 같이 True가 됩니다.

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

  • 크기 :=s의 크기
  • 0에서 크기 - 1 사이의 i에 대해
    • s[i]가 'a'와 같지 않으면
      • 루프에서 나오다
  • i * 2가 크기와 같지 않으면
    • 거짓을 반환
  • i에서 크기 - 1까지의 범위에 있는 j에 대해
    • s[j]가 'b'와 같지 않으면
      • 거짓을 반환
  • 참 반환

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

예시

def solve(s):
   size = len(s)
   for i in range(size):
      if s[i] != 'a':
         break
   if i * 2 != size:
      return False
   for j in range(i, size):
      if s[j] != 'b':
         return False
   return True
s = "aaaaabbbbb"
print(solve(s))

입력

"aaaaabbbbb"

출력

True