두 개의 문자열 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