[TIL] Code Kata 5


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文にネストします.このように1つずつ最も短い文字と1つ、同じ文字をfinalに追加します.このようにlen(strs)を繰り返し使用し、finalリストに含まれる最短長の文字を返します.