강의

멘토링

커뮤니티

Inflearn Community Q&A

persistence73884961's profile image
persistence73884961

asked

Introduction to Python Algorithm Problem Solving (Coding Test Preparation)

[Additional Video] Merge Sort-2

안녕하세요!

Written on

·

224

1

선생님 이런 에러는 왜 생기는걸까요 ? ㅜㅜ

python코테 준비 같이 해요!

Answer 2

0

codingcamp님의 프로필 이미지
codingcamp
Instructor

안녕하세요^^

tmp.append(arr[p1:mid+1])

이렇게 하면 tmp라는 리스트에 새로은 리스트를 넣어 2차원 리스트가 됩니다.

tmp=tmp+arr[p1:mid+1] 이렇게 해야 일차원리스트 + 일차원리스트=일차원리스트가 됩니다.

0

def Dsort(lt, rt):

    if lt < rt:

        mid = (lt+rt)//2

        Dsort(lt, mid)

        Dsort(mid+1, rt)

        p1 = lt

        p2 = mid+1

        tmp = []

        while p1 <= mid and p2 <= rt:

            if arr[p1] < arr[p2]:

                tmp.append(arr[p1])

                p1+=1

            else:

                tmp.append(arr[p2])

                p2+=1

        if p1 <= mid: tmp.append(arr[p1:mid+1])

        if p2 <= rt: tmp.append(arr[p2:rt+1])

        for i in range(len(tmp)):

            arr[lt+i] = tmp[i]

if __name__ == "__main__":

    arr = [23, 11, 45, 36, 15, 67, 33, 21]

    Dsort(0,7)

    print(arr)

persistence73884961's profile image
persistence73884961

asked

Ask a question