# 합병 정렬
def merge_sort(my_list):
result = []
result = merge(my_list[0:int(len(my_list) / 2)], my_list[int(len(my_list) / 2):int(len(my_list))])
return result
# 코드를 입력하세요.
# 테스트
print(merge_sort([1, 3, 5, 7, 9, 11, 13, 11]))
print(merge_sort([28, 13, 9, 30, 1, 48, 5, 7, 15]))
print(merge_sort([2, 5, 6, 7, 1, 2, 4, 7, 10, 11, 4, 15, 13, 1, 6, 4]))
나는 실수로 merge를 재귀함수로 구현해놓아서 음...
일단
## 배울점
def merge_sort(my_list):
if len(my_list) < 2:
return my_list
left_half = my_list[:len(my_list)//2]
right_half = my_list[len(my_list)//2:]
return merge(merge_sort(left_half), merge_sort(right_half))
## 배울점
리스트를 오른쪽 반 왼쪽 반으로 나누는 것 몰랏음
댓글 없음:
댓글 쓰기