[TIL] Code Kata 5

SEUNGCHAN BAEK·2021년 4월 8일
0

Code Kata

목록 보기
4/7
post-thumbnail

def get_prefix(strs):
    answer = ''
    if strs == []:
        return answer

    check = min(strs)
    final = []

    if not check:
        return answer

    strs.sort(key=lambda x:len(x))

    for i in range(1, len(strs)):
        answer = ''
        for j in range(len(check)):
            if check[j] == strs[i][j]:
                answer += check[j]
            else:
                break
        final.append(answer)

    return min(final)

문제를 봤을때 어렵지 않은 문제라고 생각했다. 글자를 한개씩 비교만 하면 된다고 생각 했는데 [] 일때와 ['abc','abd',''] 와 같은 경우도 같이 생각해야 했다. 앞부분에서 먼저 strs = [], strs = ['abc','abcd',''] 같은 경우를 먼저 판단해주고 그다음에 strs에 담긴 문자들을 짧은 길이 순으로 정렬 시킨다. 그리고 가장 길이가 짧은 문자길이 만큼 for 문을 for 문 안에 중첩으로 넣는다. 그렇게 하나씩 제일 짧은 길이의 문자랑 한개씩 비교하면서 같은 문자들을 final에 append 시킨다. 그렇게 len(strs) 만큼 반복시키고 난 후에 final 리스트에 담긴 문자들중 가장 짧은 길이의 문자를 리턴하면 된다.

profile
백엔드 개발자가 되는 그날까지

0개의 댓글

관련 채용 정보