[백준] #2751 수 정렬하기 2 python
2022. 12. 27. 16:45
https://www.acmicpc.net/problem/2751
📕 설명 📕
시간 초과를 고려하여 합병 정렬을 이용하여 풀이하였다.
꽤 시도를 많이 하였다.
🧑🏻💻 나의 풀이 🧑🏻💻
import sys
N = int(input())
src = []
def sorting(src):
if len(src) < 2:
return src
mid = len(src) // 2
left = sorting(src[:mid])
right = sorting(src[mid:])
return merge(left, right)
def merge(left, right):
new_li = []
i = 0
j = 0
while i < len(left) and j < len(right):
if left[i] > right[j]:
new_li.append(right[j])
j += 1
else:
new_li.append(left[i])
i += 1
new_li += right[j:]
new_li += left[i:]
return new_li
for _ in range(N):
src.append(int(sys.stdin.readline()))
for i in sorting(src):
print(i)
'Programming > Algorithm' 카테고리의 다른 글
[백준] #2108 통계학 python (1) | 2022.12.27 |
---|---|
[백준] #10989 수 정렬하기 3 python (0) | 2022.12.27 |
[백준] #25305 커트라인 python (0) | 2022.12.27 |
[백준] #2587 대푯값 2 python (0) | 2022.12.27 |
[백준] #2750 수 정렬하기 python (0) | 2022.12.27 |