서울 가는 길에 KTX에서 문제 풀기
파이썬 문제 풀어보기
개요: N개의 수를 오름차순으로 정렬하는 문제
접근방법: N번만큼 반복문으로 리스트에 정렬하고자 하는 수를 담고 퀵 정렬을 이용해 수를 정렬한다.
def arrange_num(list):
if len(list) < 2:
return list
pivot = len(list) // 2
front_arr = []
pivot_arr = []
back_arr = []
for value in list:
if value < list[pivot]:
front_arr.append(value)
elif value > list[pivot]:
back_arr.append(value)
else:
pivot_arr.append(value)
return arrange_num(front_arr) + arrange_num(pivot_arr) + arrange_num(back_arr)
N = int(input())
array = []
for _ in range(N): # 입력받은 N개 만큼 반복문으로 array의 요소값을 받음
array.append(int(input()))
print(*arrange_num(array), sep='\n')
print(*list, sep='\n')
를 이용하면 리스트의 모든 값을 한줄에 하나씩 출력할 수 있다.- 정렬 알고리즘에 대한 전체적인 정리가 필요할 것 같다.