728x90
반응형
www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=2859&sca=30
def mergesort(a, low, high, b):
if low >= high:
return
mid = (low+high)//2
mergesort(a, low, mid, b)
mergesort(a, mid+1, high, b)
i = low
j = mid+1
for k in range(low,high+1):
if j> high:
b[k] = a[i]
i+=1
elif i>mid:
b[k] = a[j]
j+=1
elif a[i]<=a[j]:
b[k] = a[i]
i+=1
else:
b[k] = a[j]
j+=1
for i in range(low,high+1):
a[i]=b[i]
for num in a:
print(num,end=" ")
print()
n=int(input())
nums = list(map(int, input().split()))
mergesort(nums, 0, n-1, [0]*n)
728x90
반응형
'Algorithm Problems' 카테고리의 다른 글
[Cos Pro 1급] 4차 9번 시침분침 각도 (0) | 2021.04.18 |
---|---|
[Cos Pro 2급] 4차 9번 - 위험지역 (0) | 2021.04.10 |
[정올] [Python] 3518번 퀵정렬 (0) | 2021.04.03 |
[Cos Pro 1급] 6차 2번 - 메모장 (0) | 2021.03.26 |
[백준] [Python] 1862번 미터계 (0) | 2021.03.21 |