Koala - 5기/기초 알고리즘 스터디

[백준/python] 11931 수정렬하기-4

jeonyoungseo 2022. 1. 17. 20:28

11931번 같은 경우에는 N개의 수가 주어졌을 때 이를 내림차순으로 정렬해야 한다.

계속 시간초과가 남을 알 수가 있었는데, 이는 input=sys.stdin.readline을 지정해줌으로써 해결되었다.
또한 시간초과는 시간복잡도가 원인이므로 for문이 아닌 sort()또는 sorted()를 사용해주면 된다. (정렬 문제 시)
여기서 주의해야 할 것은 sorted()는 리스트와 문자열 둘 다 적용이 가능하지만 sort()는 리스트만 가능하다는 점이다.

 

조금 더 자세히 설명해보면, t로 test의 개수를 입력받고, A라는 리스트를 만들어 이 리스트에 차곡차곡 입력값을 t 크기만큼 받는다. 루프가 끝난후 A.sort(reverse=True) 로 내림차순으로 sorting을 해준다. 이후 A 라는 list속 인자들을 하나씩 꺼내준다.



import sys
input=sys.stdin.readline

t=int(input())
A=list()
for i in range(t):
    A.append(int(input()))
A.sort(reverse=True)

for i in A:
    print(i)