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

Python에서 다른 문자열을 만들기 위해 문자열을 반복할 수 있는지 확인

<시간/>

두 개의 문자열 s와 t가 있다고 가정하고 문자열 s를 연결하여 t를 생성할 수 있는 횟수를 찾아야 합니다. s를 사용하여 t를 생성할 수 없으면 -1을 반환합니다.

따라서 입력이 s ="tom" t ="tomtomtom"과 같으면 "tom"을 3번 연결하여 "tomtomtom"을 얻을 수 있으므로 출력은 3이 됩니다.

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

  • t의 크기가 s의 크기로 나누어지지 않으면
    • 반환 -1
  • cnt :=(t의 크기 / s의 크기)의 몫
  • s :=s cnt 횟수 연결
  • s가 t와 같으면
    • 반환 cnt
  • 반환 -1

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

예시

def solve(s, t):
   if(len(t) % len(s) != 0):
      return -1;
   cnt = int(len(t) / len(s))
   s = s * cnt
   if(s == t):
      return cnt
   return -1
s = "tom"
t = "tomtomtom"
print(solve(s, t))

입력

"tom", "tomtomtom"

출력

3