문제
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()을 사용했다가 수정했다.
'알고리즘 > 백준' 카테고리의 다른 글
[백준 알고리즘] 1436번: 영화감독 숌 (파이썬 / Python) (0) | 2022.08.03 |
---|---|
[백준 알고리즘] 7568번: 덩치 (파이썬 / Python) (0) | 2022.08.03 |
[백준 알고리즘] 2231번: 분해합 (파이썬 / Python) (1) | 2022.08.03 |
[백준 알고리즘] 10814번: 나이순 정렬 (파이썬 / Python) (0) | 2022.08.02 |
[백준 알고리즘] 17478번: 재귀함수가 뭔가요? (파이썬 / Python) (0) | 2022.08.02 |