로그인 바로가기 하위 메뉴 바로가기 본문 바로가기

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

임시 이미지 KAIST 전산학부 김문주 교수 KOOC (KAIST Open Online Course)
http://www.edwith.org/cs101/forum/17004
좋아요 2966 수강생 11721
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

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