#문제4
두 문자열 s1과 s2를 붙여서 새 문자열을 만들려 합니다. 이때, 한 문자열의 끝과 다른 문자열의 시작이 겹친다면, 겹치는 부분은 한 번만 적습니다.
예를 들어 s1 = "ababc", s2 = "abcdab"일 때, 아래와 같이 s2 뒤에 s1를 붙이면 새 문자열의 길이는 9입니다.
그러나 s1 뒤에 s2을 붙이면 새 문자열의 길이는 8로, 더 짧게 만들 수 있습니다.
두 문자열 s1과 s2가 매개변수로 주어질 때, s1과 s2를 붙여서 만들 수 있는 문자열 중, 가장 짧은 문자열의 길이를 return 하도록 solution 함수를 완성해주세요.
##### 제한 조건
두 문자열 s1과 s2가 solution 함수의 매개변수로 주어집니다.
* s1과 s2의 길이는 1 이상 100 이하입니다.
* s1과 s2는 알파벳 소문자로만 이루어져 있습니다.
##### 입출력 예
| s1 | s2 | return |
|---------|----------|--------|
| "ababc" | "abcdab" | 8 |
##### 입출력 예 설명
문제에 주어진 예시와 같습니다.
내가 푼 답
def solution(s1, s2):
s1_val = []
s2_val = []
length_a = len(s1) + len(s2)
length_b = len(s2) + len(s1)
for x in range(len(s1)):
s1_val.insert(0, s1[-x -1])
s2_val.append(s2[x])
if s1_val == s2_val:
length_a -= len(s1_val)
s1_val = []
s2_val = []
for y in range(len(s1)):
s2_val.insert(0, s2[-y -1])
s1_val.append(s1[y])
print(s2_val, s1_val)
if s2_val == s1_val:
length_b -= len(s2_val)
if length_a >= length_b:
length = length_b
else:
length = length_a
answer = length
return answer
일단 이렇게 해서 답은 나오는데 문제가 많다
일단 딱 저 값이 주어질때만 실행가능하다. 그거 하나? 정도 일단 답 성공
아 몰라~~
'Python > Python 문제' 카테고리의 다른 글
Python 문제 36 (0) | 2021.11.23 |
---|---|
Python 문제 35 (0) | 2021.11.23 |
Python 문제 33 (0) | 2021.11.22 |
Python 문제 32 (0) | 2021.11.22 |
Python 문제 31 (0) | 2021.11.22 |