[11일차] Sorting_위에서 아래로

Tourist_X·2022년 2월 16일
0

🏆Today Code Test


🛠Problem Approach

문제: 위에서 아래로

하나의 수열에는 다양한 수가 존재한다. 이러한 수는 크기에 상관없이 나열되어 있다. 이 수를 큰 수부터 작은 수의 순서로 정렬해야 한다. 수열을 내림차순으로 정렬하는 프로그램을 만드시오

입력조건

  • 1≤ N ≤ 500
  • N개의 숫자 입력받음

출력조건

내림차순 정렬

출력예시 65 54 34

🔑Solution

n = int(input())
num_lst = []

for i in range(n):
    num_lst.append(int(input()))

# 퀵정렬로 구현
def quick_sort(lst):
    l = len(lst)
    if l <= 1:
        return lst

    pivot = lst[0]
    # 큰 쪽
    left = [lst[j] for j in range(1,l) if lst[j] > pivot ]
    # 작은 쪽
    right = [lst[k] for k in range(l-1,1,-1) if lst[k] < pivot]

    return quick_sort(left) + [pivot] + quick_sort(right)

ans = quick_sort(num_lst)
for i in ans:
    print(i, end=' ')

개선 코드

# ㅋ..
# 그냥 기본 라이브러리 사용하기...

num_lst = sorted(num_lst, reverse=True)
profile
Always, Better than.

0개의 댓글