View
[Python] Baekjoon 백준 10989번 수 정렬하기 3
문제
N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오.
입력
첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다.
출력
첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다.
import sys
n = int(input())
num = [0 for i in range(10001)]
for i in range(n):
a = int(sys.stdin.readline())
num[a] += 1
for i in range(1, 10001):
if num[i] != 0:
for j in range(num[i]):
print(i)
이전 수 정렬하기 문제 처럼 sort() 를 이용해서 풀었다가 메모리 초과 났다
이번 문제의 한 줄당 입력 최대 값은 "10,000보다 작거나 같은 자연수" 이다
미리 10000 까지의 리스트에 0으로 채워 넣는다
입력 받은 수를 인덱스로 보고, 값에다가 +1 해준다
이렇게 하면 같은 수 가 들어오면 +1 씩 늘어난다
출력할때는 0이 아닌 조건으로 값 만큼 인덱스 숫자를 반복 출력 해 준다
반응형
'Algorithm > Baekjoon' 카테고리의 다른 글
[Python] Baekjoon 백준 1427번 소트인사이드 (0) | 2021.09.06 |
---|---|
[Python] Baekjoon 백준 2108번 통계학 (0) | 2021.09.06 |
[Python] Baekjoon 백준 2751번 수 정렬하기 2 (0) | 2021.09.03 |
[Python] Baekjoon 백준 7568번 덩치 (0) | 2021.09.02 |
[Python] Baekjoon 백준 2231번 분해합 (0) | 2021.09.02 |
reply