문제
N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오.
입력
첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다.
출력
첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다.
예제 입력 1
5
5 4 3 2 1 |
예제 출력 1
1
2 3 4 5 |
작성 코드:
n=int(input())
arr=[]
for _ in range(n):
arr.append(int(input()))
arr.sort()
for i in range(len(arr)):
print(arr[i])
시간복잡도가 O(nlogn)인 정렬 알고리즘으로 풀 수 있다고 함.( ex. 병합 정렬, 힙 정렬 )
그냥 파이썬의 내장 함수 사용하면 간단하게 구현 가능함. (내장 함수도 같은 시간복잡도를 가짐)
'Back-end > 백준(python)' 카테고리의 다른 글
[백준/python] 1427 소트인사이드: 자릿수대로 잘라서 리스트에 넣기 (0) | 2023.10.27 |
---|---|
★[백준/python] 10989 수정렬하기3: 카운팅정렬(계수 정렬) / 메모리 줄이기... 왜? pypy3, python3 차이 (0) | 2023.10.27 |
★[백준/python] 2839 설탕배달: 브루트포스 (1) | 2023.10.27 |
[백준/python] 1436 영화감독숌: 브루트포스 (0) | 2023.10.27 |
[백준/python] 25305 커트라인: sort, sorted 차이 (0) | 2023.10.27 |