Go to login Go to sub menu Go to text

파이썬 (Python) 으로 배우는 프로그래밍 기초 (CS101)

임시 이미지 KAIST 전산학부 김문주 교수
http://kaist.edwith.org/cs101/forum/17004
Thumb up 2326 Learner 8183
def merge_sort(list1):
    if _______:
        return list1
    m = len(list1)
    list2 = list1[:m]
    list3 = list1[m:]
    list2 = merge_sort(list2)
    list3 = merge_sort(list3)
    return merge(list2, list3)   // list2 와 list3의 원소를 크기순으로 합친다.

문제의 코드는 위와 같습니다.

Divide&Conquer 기법을 사용한다면 line 4를

m = len(list1) // 2

처럼 바꾸는 것이 적절할 것 같습니다.

comment