def solution(A, B):
count = 0
for _ in range (len(A)):
if A == B:
return count
# 왼쪽일 경우 A[1:] + A[0]
A = A[-1] + A[:len(A)-1]
count += 1
return -1
A = "hello"
B = "ohell"
>> 1
변수 count를 0으로 초기화한다. 이 변수는 밀기 횟수를 저장하는 역할을 한다.
문자열 A의 길이만큼 반복문을 실행한다.
A와 B가 동일한 경우, 즉 문자열을 밀어서 B와 동일하게 만든 경우에는 count를 반환한다.
A를 한 칸씩 왼쪽으로 밀기 위해 A의 맨 뒤 문자를 가져와서 A의 맨 앞에 붙인다. 이를 A = _A[-1] + A[:len(A)-1] 코드로 구현한다.
밀기가 이루어질 때마다 count를 1씩 증가시킨다.
반복문이 모두 실행된 후에도 A와 B가 동일하지 않은 경우, 즉 문자열을 밀어서 B와 동일하게 만들 수 없는 경우에는 -1을 반환한다.