초보 개발자의 일기

위에서 아래로 본문

코딩테스트/이것이 코딩테스트다.(Python)

위에서 아래로

판다꼬마 2022. 6. 26. 12:22
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