로딩
요청 처리 중입니다...

[Python] 백준알고리즘 10989번 수 정렬하기 3 (S5)

 [Python] 백준알고리즘 10989번 수 정렬하기 3 (S5)

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메모리초과 # 백준알고리즘 # 수정렬하기 # 오름차순 # 정렬문제 # 정렬알고리즘 # 파이썬