훈훈훈
파이썬(알고리즘) : 공통된 시작 단어(prefix)를 반환하기 본문
# 문제
- 공통된 시작 단어(prefix)를 반환
# 풀이
def get_prefix(strs):
if len(strs) == 0:
return ''
result = ''
strs = sorted(strs)
print(strs)
for i in strs[0]:
if strs[-1].startswith(result+i):
result += i
print(res)
else:
break
return result
# 해설
- 요소가 문자열인 리스트를 받아 알파벳 순으로 정렬
- strs = ['flue', 'fly', 'flower'] 일때 strs = sorted(strs) 을 하면 strs = ['flower', 'flue', 'fly'] 으로 정렬되는 것을 알 수 있음
- 그 후 첫번째 인덱스 문자열과 마지막 인덱스 문자열을 서로 비교
- 만약 첫번째 문자열의 어느 요소와 마지막 문자열의 어느 요소가 같다면 가운데 문자열도 당연히 같음 (알파벳 순서대로 정렬했기 때문에)
'파이썬 > 알고리즘' 카테고리의 다른 글
파이썬(알고리즘) :: m번째 숫자를 제거할때, 최종적으로 남은 숫자 반환(큐 문제) (0) | 2020.04.09 |
---|---|
파이썬(알고리즘) :: m개의 숫자를 제거할때, 가장 큰 수 출력 (스택 문제) (0) | 2020.04.07 |
파이썬(알고리즘) :: 오름차순으로 정렬 후 위치 찾기 (이분 검색) (0) | 2020.04.05 |
파이썬(알고리즘) :: 회문 문자 검사 (탐색 문제) (0) | 2020.04.05 |
파이썬(알고리즘) : 중복되지 않은 문자로 이루어진 제일 긴 단어의 길이 (0) | 2020.02.13 |
Comments