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

##
이 문제를 5달 전에 처음 시도하고
그당시에는 counting sort의 존재를 몰라서 실패했었다.

그리고 2달 전에 알고리즘 수업때 배운 기억을 되살려서 다시 시도해봤는데 또 실패했었다.
질문게시판을 보고서도 이해를 못했었는데
오늘 다시 시도하던 중에 이유를 알았다.

## code
import sys
input = sys.stdin.readline

count = [0]*10001
for _ in range(int(input().rstrip())):
    n = int(input().rstrip())
    count[n] += 1

for i in range(len(count)):
    for j in range(count[i]):
        print(i)

counting sort 과정중에
먼저 입력을 받은 arr, 그리고 count하는 arr, result하는 배열까지 3개의 배열을 사용했었다
그렇게 해서 진짜 정렬을 하면 메모리 초과가 난다

수의 범위가 10000까지 이므로, 0으로 초기화된 10001크기의 배열을 만들고
input되면 그 숫자를 바로 count 해준다
그리고 결과물을 출력하는데 위 코드의 방법대로 카운트된 횟수만큼 바로 출력하면 된다

이건 좀 문제를 위해 만든 문제 아닌가..??
파이썬이라서 그런줄 알고 c++로 시도해보기도 했었다



근데 다시 생각해보면
입력받는걸 바로 count한다면 배열 하나는 없어도 되는거네