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

Python에서 모든 회문 하위 문자열의 길이가 홀수인지 확인하십시오.

<시간/>

문자열 s가 있다고 가정하고 회문 하위 문자열의 길이가 홀수인지 여부를 확인해야 합니다.

따라서 입력이 s ="levelopmadam"과 같으면 두 개의 회문 부분 문자열 "level"과 "madam"이 모두 홀수 길이이므로 출력은 True가 됩니다.

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

  • 0에서 s 크기의 범위에 있는 i에 대해 다음을 수행합니다.
    • temp :=빈 문자열
    • i 범위에서 s 크기의 j에 대해 다음을 수행합니다.
      • temp :=임시 연결 s[j]
      • temp의 크기가 짝수이고 temp가 회문이면
        • 거짓을 반환
  • 참 반환

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

예시

def is_palindrome(s):
   return s == s[::-1]
def solve(s):
   for i in range(len(s)):
      temp = ""
   for j in range(i, len(s)):
      temp += s[j]
      if len(temp) % 2 == 0 and is_palindrome(temp):
         return False
   return True
s = "levelopmadam"
print(solve(s))

입력

"levelopmadam"

출력

True