def merge_sort(arr):
if len(arr) < 2:
return arr
mid = len(arr) // 2
low_arr = merge_sort(arr[:mid])
high_arr = merge_sort(arr[mid:])
merged_arr = []
l = h = 0
while l < len(low_arr) and h < len(high_arr):
if int(str(low_arr[l]) + str(high_arr[h])) >= int(str(high_arr[h]) + str(low_arr[l])):
merged_arr.append(low_arr[l])
l += 1
else:
merged_arr.append(high_arr[h])
h += 1
merged_arr += low_arr[l:]
merged_arr += high_arr[h:]
return merged_arr
print(merge_sort([3,30,34,5,9]))
print()
result1= "".join(map(str,merge_sort([3,30,34,5,9])))
print(result1)
Input=[3,30,34,5,9]
output=[9534330]
두개의 인덱스를 앞뒤로 더해서 비교한다
모든 값이 00일때,즉'00'을 처리하기위해 int로 변환한 뒤,다시 str로 변환한다.