초보 개발자의 일기
위에서 아래로 본문
728x90
문제
하나의 수열에는 다양한 수가 존재한다. 이러한 수의 크기에 상관없이 나열되어 있다. 이수를 큰 수부터 작은 수의 순서로 정렬해야 한다.
수열을 내림차순으로 정렬하는 프로그램으로 만드시오
사진자리
입력
- 첫째 줄에 수열에 속해 있는 수의 개수 N이 주어진다. (1 <=N <=500)
- 둘째 줄부터 N+1 번째 줄까지 N개의 수가 입력된다. 수의 범위는 1 이상 100000 이하의 자연수이다.
출력
입력으로 주어진 수열이 내림차순으로 정렬된 결과를 공백으로 구분하여 출력한다. 동일한 수의 순서는 자유롭게 출력해도 괜찮다.
입력 예시
3
15
27
12
출력 예시
27 15 12
풀이 방법
여러 정렬 방법이 있는데 나는 라이브러리 함수를 사용해 풀고
다른 방법으로는 계수 정렬을 이용해 문제를 풀었다.
내 코드
n=int(input())
array=[]
for i in range(n):
array.append(int(input()))
array=sorted(array, reverse=True)
for i in array:
print(i,end=' ')
//sorted를 이용해 풀이
n=int(input())
array=[]
for i in range(n):
array.append(int(input()))
count = [0]*(max(array)+1)
for i in range(len(array)):
count[array[i]]+=1
for i in range(len(count)):
for j in range((count[i])):
print(i,end=' ')
//계수정렬
Solution
n=int(input())
array=[]
for i in range(n):
array.append(int(input()))
array=sorted(array, reverse=True)
for i in array:
print(i,end=' ')
느낀 점
가장 기본적인 문제라 쉽게 풀 수 있었다.
728x90
'코딩테스트 > 이것이 코딩테스트다.(Python)' 카테고리의 다른 글
두 배열의 원소 교체 (0) | 2022.06.28 |
---|---|
성적이 낮은 순서로 학생 출력하기 (4) | 2022.06.26 |
파이썬 정렬 라이브러리 (1) | 2022.06.26 |
퀵 정렬 (1) | 2022.06.25 |
선택 정렬, 삽입 정렬 (2) | 2022.06.25 |