MergeSort Python

백지원·2023년 8월 8일
0
def mergeSort(arr):
    if len(arr) == 1:
        return arr
    mid = len(arr)//2
    arr1 = mergeSort(arr[:mid])
    arr2 = mergeSort(arr[mid:])
    # 작 -> 큰
    h1 = 0
    h2 = 0
    merged_arr = []
    while h1 < len(arr1) and h2 < len(arr2):
        if arr1[h1] < arr2[h2]:
            merged_arr.append(arr1[h1])
            h1 += 1
        else:
            merged_arr.append(arr2[h2])
            h2 += 1
    if h1 != len(arr1):
        merged_arr.extend(arr1[h1:])
    else:
        merged_arr.extend(arr2[h2:])
    return merged_arr

import sys
input = sys.stdin.readline

arr = [int(input()) for _ in range(int(input()))]
arr.sort()
for e in arr:
print(e)

1개의 댓글

comment-user-thumbnail
2023년 8월 8일

정보에 감사드립니다.

답글 달기