코딩고치

[파이썬][백준] 2750번: 수 정렬하기 본문

파이썬/백준 문제

[파이썬][백준] 2750번: 수 정렬하기

코딩고치 2020. 5. 27. 21:46

1. 문제

주소: https://www.acmicpc.net/problem/2750

 

2750번: 수 정렬하기

첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다.

www.acmicpc.net

문제 유형: 정렬

 

2. 소스 코드

import sys
# 재귀 함수를 1,000번 이상 실행 시키기 위함
sys.setrecursionlimit(99999)

def qsort(n_list):
    if len(n_list) <= 1:
        return n_list

    pivot = n_list[0]

    left = [num for num in n_list[1:] if pivot > num]
    right = [num for num in n_list[1:] if pivot < num]

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

n = int(input())

num_list = []

for _ in range(n):
    num_list.append(int(input()))

result = qsort(num_list)

for data in result:
    print(data)
Comments