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

Python 문자열에서 프로그래밍 질문 찾기

<시간/>

소문자 문자열 s가 있다고 가정하고 s에서 다음과 같은 문자의 일부 시퀀스를 선택할 수 있는지 확인해야 합니다. 1. 문자의 두 연속 인덱스의 차이는 동일합니다. 피>

따라서 입력이 "pzrzozgzrzazmzmziznzgzqzuzezsztzizozn"과 같으면 출력은 True가 됩니다.

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

  • p :=p가 있는 인덱스 배열
  • r :=r이 있는 인덱스 배열
  • p의 각 j에 대해
    • r의 각 k에 대해 다음을 수행합니다.
      • k> j이면
        • k-j 문자를 건너뛰어 인덱스 j에서 s 크기까지 s의 부분 문자열에 "programmingquestion"이 있으면
          • 참 반환
  • 거짓을 반환

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

class Solution:
   def solve(self, s):
      p = [i for i, c in enumerate(s) if c == "p"]
      r = [i for i, c in enumerate(s) if c == "r"]
      for j in p:
         for k in r:
            if k > j:
               if "programmingquestion" in s[j:len(s):k-j]:
                  return True
      return False
ob = Solution()
s = "pzrzozgzrzazmzmziznzgzqzuzezsztzizozn"
print(ob.solve(s))

입력

"pzrzozgzrzazmzmziznzgzqzuzezsztzizozn"

출력

True