알고리즘/백준
[백준 알고리즘] 2751번: 수 정렬하기 2 (파이썬 / Python)
gyujh
2022. 8. 3. 17:57
문제
N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오.
입력
첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다.
출력
첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다.
예제 입력
5
5
4
3
2
1
예제 출력
1
2
3
4
5
정답 코드
import sys
n = int(sys.stdin.readline())
a = []
for i in range(n):
a.append(int(sys.stdin.readline()))
a = sorted(a)
for i in range(len(a)):
print(a[i])
단순 정렬 문제이므로 파이썬의 경우 내장함수인 sorted로 풀 수 있다.
출력 형식의 경우 나는 for문을 사용했지만, join()을 사용할 수도 있다.
join()을 사용한 코드
import sys
n = int(sys.stdin.readline())
a = []
for i in range(n):
a.append(int(sys.stdin.readline()))
print('\n'.join(map(str, sorted(a))))
주의
중복을 없애야 한다는 것이 아닌, 중복되지 않는 수가 주어진다는 것이다. 나는 중복을 없애야 하는 줄 알고 set()을 사용했다가 수정했다.

2751번: 수 정렬하기 2
첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다.
www.acmicpc.net