白駿[0989号]:数列3
3530 ワード
質問する
N個の数字が与えられた場合、昇順で並べ替えられたプログラムを作成します.
入力
第1行は、数の個数N(1≦N≦1000000)を与える.2行目からN行に付与する.この数は10000以下の自然数です.
しゅつりょく
1行目からN行目まで昇順に並べた結果、1行ずつ出力されます.
入力例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())
check_list = [0] * 10001
for _ in range(N):
input_num = int(sys.stdin.readline())
check_list[input_num] = check_list[input_num] + 1 # 해당 인덱스에 1씩 추가
print(check_list)
for i in range(10001):
if check_list[i] != 0: # 1 이상인 인덱스 출력
for _ in range(check_list[i]):
print(i) # 2 이상이라면 해당 값만큼 반복하여 출력
sys
ソート可能な数値を入力します.input
でメモリがオーバーフローします.check_list
arrayは、メモリオーバーフローを防止するために予め宣言されている.Reference
この問題について(白駿[0989号]:数列3), 我々は、より多くの情報をここで見つけました https://velog.io/@redorangeyellowy/백준-10989번-수-정렬하기-3テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol