2751번 문제보다 수의 개수의 범위가 더 많아졌다. 이 문제에서는 입력방식을 readline() 만 해서 해결할려고 한다면 '메모리초과' 가 발생한다.
그럼 어떻게 할까? 문제에서 보면 10000보다 작거나 같은 자연수를 입력한다 라는 문구를 확인할 수 있다.
이번 문제에서 해결점은 리스트의 길이를 최소화하여 출력하는 방법이다. 리스트 M을 10000으로 길이를 한정적으로 선언해준다.
M = [0]*10000 그리고, 지금까지 2751번 수 정렬하기 문제를 푼 것처럼 입력 받는 방식을 다음과 같이 한다. import sys N = int(sys.stdin.readline()) for _ in range(N): n = int(sys.stdin.readline()) M[n-1]+=1 여기서 우리는 입력한 n 수를 M의 index로 하여 1을 더하여 개수를 증가시켜줄 것이다. index의 순서는 0, 1, 2, 3, ... 이므로 만일, 우리가 n 에 1을 입력하게 된다면 index 0...
#
백준10989
#
백준10989메모리초과
#
백준알고리즘
#
수정렬하기
#
오름차순
#
정렬문제
#
정렬알고리즘
#
파이썬