코딩/백준

[백준/파이썬] 10989번 수 정렬하기 3 코딩테스트 연습풀이 정렬 단계 실버 5

thisisjade 2022. 2. 2. 19:02
728x90

문제 출처: https://www.acmicpc.net/problem/10989

 

10989번: 수 정렬하기 3

첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다.

www.acmicpc.net

 

문제

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

N = int(input()) 
arr = [0] * 10001 

for i in range(N): 
    num = int(sys.stdin.readline()) 
    arr[num] = arr[num] + 1 

for i in range(10001): 
    if arr[i] != 0:
        for j in range(arr[i]):
            print(i)

arr의 크기를 10001까지 곱해주는 세팅을 한 후 입력받는 값은 +1 처리를 해줍니다.

 

아래 for문에서 0이 아닐경우 해달 배열숫자를 출력해줍니다. 

 

 

메모리 초과랑 시간 초과가 많이나는 문제라 고생을 좀 한것 같습니다 ㅋㅋㅋ

 

728x90