훈훈훈

파이썬(알고리즘) : 공통된 시작 단어(prefix)를 반환하기 본문

파이썬/알고리즘

파이썬(알고리즘) : 공통된 시작 단어(prefix)를 반환하기

훈훈훈 2020. 2. 14. 14:35

# 문제

- 공통된 시작 단어(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'] 으로 정렬되는 것을 알 수 있음

- 그 후 첫번째 인덱스 문자열과 마지막 인덱스 문자열을 서로 비교 

- 만약 첫번째 문자열의 어느 요소와 마지막 문자열의 어느 요소가 같다면 가운데 문자열도 당연히 같음 (알파벳 순서대로 정렬했기 때문에)

 

Comments