두 문자열 s1과 s2를 붙여서 새 문자열을 만들려 합니다. 이때, 한 문자열의 끝과 다른 문자열의 시작이 겹친다면, 겹치는 부분은 한 번만 적습니다.
예를 들어 s1 = "ababc", s2 = "abcdab"일 때, 아래와 같이 s1 뒤에 s2를 붙이면 새 문자열의 길이는 9입니다. 그러나 s2 뒤에 s1을 붙이면 새 문자열의 길이는 8로, 더 짧게 만들 수 있습니다.
두 문자열 s1과 s2가 매개변수로 주어질 때, s1과 s2를 붙여서 만들 수 있는 문자열 중, 가장 짧은 문자열의 길이를 return 하도록 solution 함수를 완성해주세요.
코드
def solution(s1, s2):
answer = 0
for i in range(len(s1)):
if s1[0:i] == s2[-i:]:
answer=i
break
for i in range(len(s2)):
if s2[0:i] == s1[-i:]:
if answer < i:
answer=i
break
answer = len(s1)+len(s2)-answer
return answer
s1 = "ababc"
s2 = "abcdab"
ret = solution(s1, s2)
print("solution 함수의 반환 값은", ret, "입니다.")