728x90
반응형
문제
두 문자열 s1과 s2를 붙여서 새 문자열을 만들려 합니다. 이때, 한 문자열의 끝과 다른 문자열의 시작이 겹친다면, 겹치는 부분은 한 번만 적습니다.
예를 들어 s1 = "ababc", s2 = "abcdab"일 때, 아래와 같이 s1 뒤에 s2를 붙이면 새 문자열의 길이는 9입니다.
두 문자열 s1과 s2가 매개변수로 주어질 때, s1과 s2를 붙여서 만들 수 있는 문자열 중, 가장 짧은 문자열의 길이를 return 하도록 solution 함수를 완성해주세요.
제한 조건
두 문자열 s1과 s2가 solution 함수의 매개변수로 주어집니다.
* s1과 s2의 길이는 1 이상 100 이하입니다.
* s1과 s2는 알파벳 소문자로만 이루어져 있습니다.
입출력 예
| s1 | s2 | return |
|---------|----------|--------|
| "ababc" | "abcdab" | 8 |
Python
def solution(s1, s2):
m = 0
for i in range(1, min(len(s1),len(s2))):
if s1[-i:] == s2[:i]:
m = max(m, len(s2[:i]))
if s2[-i:] == s1[:i]:
m = max(m, len(s1[:i]))
return len(s1) + len(s2) - m
print(solution("ababc", "abcdab"))
728x90
반응형
'Algorithm Problems' 카테고리의 다른 글
파이썬 입력값 받아오기 (0) | 2021.06.10 |
---|---|
[백준][Python] 3078번 좋은 단어 - 큐 (0) | 2021.06.06 |
[백준] [Python] 3190번 뱀 - 큐, Greedy (0) | 2021.06.05 |
[백준] [Python] 13305번 주유소 - Greedy (0) | 2021.06.01 |
[백준] [Python] 11399번 ATM - Greedy - [대표예제] (0) | 2021.06.01 |