728x90
반응형
메모리: 31120 KB, 시간: 8240 ms
정렬
N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오.
첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다.
첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다.
예제 입력 1 복사
10
5
2
3
1
4
2
3
5
1
7
예제 출력 1 복사
1
1
2
2
3
3
4
5
5
7
<풀이>
#import sys
#input = sys.stdin.readline
#N = int(input().strip())
#list = []
#for i in range(N):
# list.append(int(input()))
#sort_list = sorted(list)
#for i in sort_list:
# print(i)
#입력크기가 너무 커서 sort 대신 계수정렬을 활용해야함
import sys
input = sys.stdin.readline
N = int(input().strip())
# 1부터 10000까지의 숫자 빈도 수를 저장할 리스트 생성
count = [0] * 10001
# 입력된 숫자에 해당하는 인덱스의 값을 1 증가시킴
for _ in range(N):
num = int(input().strip())
count[num] += 1
# 각 숫자를 빈도만큼 출력
for i in range(10001):
if count[i] > 0:
for _ in range(count[i]):
print(i)
반응형
'코딩 > 백준' 카테고리의 다른 글
[백준][Bronze IV] 숫자의 합 - 11720번 파이썬 문제풀이 (1) | 2024.12.24 |
---|---|
[백준][Bronze V] 아스키 코드 - 11654번 파이썬 문제풀이 (1) | 2024.12.22 |
[백준][Bronze I] 약수 - 1037번 파이썬 문제풀이 (0) | 2024.12.18 |
[백준][Silver V] 수 정렬하기 2 - 2751번 파이썬 문제풀이 (0) | 2024.12.16 |
[백준][실버4]카드2 - 2164번 파이썬 문제풀이 (2) | 2024.12.14 |