문제
하나의 수열에는 다양한 수가 존재한다. 이러한 수는 크기에 상관없이 나열되어 있다. 이 수를 큰 수부터 작은 수의 순서로 정렬해야 한다. 수열을 내림차순으로 정렬하는 프로그램을 만드시오.
입력
첫째 줄에 수열에 속해 있는 수의 개수 N이 주어진다. (1≤N≤500)
둘째 줄부터 N + 1번째 줄 까지 N개의 수가 입력된다. 수의 범위는 1 이상 100,000 이하의 자연수이다.
출력
입력으로 주어진 수열이 내림차순으로 정렬된 결과를 공백으로 구분하여 출력한다. 동일한 수의 순서는 자유롭게 출력해도 괜찮다.
입력 예시
3
5
27
12
출력 예시
27 15 12
문제 해설
N의 범위가 500으로 매우 작고, 수의 범위 또한 100,000이하의 자연수이기 때문에 어떤 방식의 정렬 방법을 사용해도 상관없다. 파이썬의 기본 정렬 라이브러리가 가장 간단하므로 사용하면 된다.
#N 입력받기
N = int(input())
#N개의 정수 저장
arr = []
for i in range(N):
arr.append(int(input()))
#arr를 내림차순으로 정렬(lambda 이용)
arr.sort(key=lambda x:-x)
#출력
for i in arr:
print(i,end=" ")
'이코테 > 정렬' 카테고리의 다른 글
실전 문제 - 두 배열의 원소 교체 (0) | 2021.10.08 |
---|---|
실전 문제 - 성적이 낮은 순서로 학생 출력하기 (0) | 2021.10.08 |
계수 정렬 (0) | 2021.09.17 |
퀵 정렬 (0) | 2021.09.14 |
삽입 정렬 (0) | 2021.09.10 |