알고리즘/백준

[파이썬] BOJ_10989(수 정렬하기 3)

딱따구르리 2022. 5. 17. 16:57
728x90
반응형

문제

 

https://www.acmicpc.net/problem/10989

 

10989번: 수 정렬하기 3

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

www.acmicpc.net


 

해설

 

이 문제는 정렬이라고 해서 정렬 내장 함수를 사용하면 메모리 초과가 발생한다.

10,000까지 입력 가능하기 때문에 이를 리스트로 먼저 만들어 놓고

각 숫자별로 입력받은 횟수만큼 1을 더해주면 된다.

 

그리고 나서 10001번 만큼 반복문을 돌며

리스트의 i값이 0이 아닐 경우 i를 횟수만큼 출력하면 된다.

 


코드

 

-파이썬

#백준 10989(수 정렬하기 3)
import sys

n = int(sys.stdin.readline())
lst = [0] * 10001
for i in range(n):
    lst[int(sys.stdin.readline())] += 1

for i in range(10001):
    if lst[i] != 0:
        for j in range(lst[i]):
            print(i)
728x90
반응형