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

Python에서 문자열이 Colindrome인지 확인

<시간/>

문자열 s가 있다고 가정합니다. 주어진 문자열이 colindrome인지 확인해야 합니다. 콜린드롬은 6개의 회문이 연결된 문자열입니다.

따라서 입력이 s ="aabbaamnoonm"과 같은 경우 출력은 "aabbaa" 및 "mnoonm"과 같은 회문을 포함하고 둘 다 길이가 6이므로 True가 됩니다.

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

  • s의 크기가 6의 배수가 아니면
    • 거짓을 반환
  • 0 ~ s - 1 범위의 i에 대해 6만큼 증가, do
    • s[인덱스 i에서 i+5까지]가 회문(palindrome)이 아니면
      • 거짓을 반환
  • 참 반환

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

예시

def is_palindrome(s):
   return s == s[::-1]
def solve(s):
   if len(s) % 6 != 0:
      return False
   for i in range(0, len(s), 6):
      if not is_palindrome(s[i : i+6]):
         return False
   return True
s = "aabbaamnoonm"
print(solve(s))

입력

"aabbaamnoonm"

출력

True