Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

공부 기록 블로그

정렬 실전 문제 - 위에서 아래로 본문

코딩 테스트

정렬 실전 문제 - 위에서 아래로

도담_dodam 2024. 12. 12. 22:27

1. 위에서 아래로

난이도  | 풀이 시간 15분 | 시간제한 1초 | 메모리 제한 128MB | 기출 T 기업 코딩 테스트

 

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

 

입력 조건

  • 첫째 줄에 수열에 속해 있는 수의 개수 N이 주어진다. (1 <= N <= 500)
  • 둘째 줄부터 N + 1번째 줄까지 N개의 수가 입력된다. 수의 범위는 1 이상 100,000 이하의 자연수이다.

출력 조건

  • 입력으로 주어진 수열이 내림차순으로 정렬된 결과를 공백으로 구분하여 출력한다. 동일한 수의 순서는 자유롭게 출력해도 괜찮다.

입력 예시

3
15
27
12

 

출력 예시

27 15 12

문제 해설

수의 개수가 500개 이하로 매우 적으며, 모든 수는 1 이상 100,000 이하이므로 어떠한 정렬 알고리즘을 사용해도 문제를 해결할 수 있다.

가장 코드가 간결해지는 파이썬의 기본 정렬 라이브러리를 이용하는 것이 효과적

소스 코드

# N을 입력받기
n = int(input())

# N개의 정수를 입력받아 리스트에 저장
array = []
for i in range(n):
  array.append(int(input()))

# 파이썬 기본 정렬 라이브러리를 이용하여 정렬 수행
array = sorted(array, reverse=True)

# 정렬이 수행된 결과를 출력
for i in array:
  print(i, end = ' ')

[출처] 나동빈,  이것이 취업을 위한 코딩 테스트다 with 파이썬 』, 한빛미디어(2020), p.178-179.