前書き
ヒルベルトグランドホテルのことを聞いたことがある人もいるかもしれません。マネージャーは、ゲストが滞在している場所のリストを失いましたが、まだチェックインした順番を持っています。各ゲストは、値よりも小さい部屋番号の客室に滞在することはできません。部屋、空いているスペースのない上位の部屋のすべてのゲストと新しいゲストは1部屋上に移動します。各ゲストが滞在している場所を見つけるのを手伝ってもらえますか?
必要条件
入力として自然数の順序付きリストを受け取り、それらをインデックスに配置するプログラムを作成します。そのインデックスに既に値が存在する場合、リスト内の次のエントリまでシフトされます。このプロセスは、最初の空の(0または未定義の)スペースが見つかるまで繰り返されます。現在の最高のインデックスと新しい入力との間の未定義のスペースは、0を追加することによって埋められます。これはヒルベルトのグランドホテルであるため、現在最も高い占有インデックスよりも高い部屋は存在しません。
入出力
入力は、自然数の順序付きリストになります(入力の受け入れられた形式を介して読み取ることができます)入力の
各数字は、1人のゲストがホテルに到着したと見なされ、到着順になります
出力は、ゲストの最終配置(番号)になります
例
入力: 1 3 1
出力: 1 1 3
ステップバイステップ:
1
インデックス1に部屋を作成し、その中に
1を配置1 0 3
インデックス3までの部屋を作成し、部屋3に3を配置
1 1 1 3
部屋1の内容を上にシフト1つの部屋と部屋1に1を配置入力: 1 4 3 1 2 1
出力:1つの1 2 1 3 4
ステップバイステップ:
1は
それにインデックス1と場所1の部屋を作成します。
1 0 0 4が
部屋にインデックス4と場所4部屋までの作成4
1 0 3 4
部屋3に3を配置
1 1 3 4
部屋1の内容を1部屋上に移動し、部屋1に
1を配置1 2 1 3 4
部屋2の内容を1部屋上に移動し、2を部屋2に配置
1 1 2 1 3 4
部屋1の内容を1部屋から5部屋にシフトし、部屋1に1を配置します。入力: 10
出力: 0 0 0 0 0 0 0 0 0 0 10
ステップバイステップ:
0 0 0 0 0 0 0 0 0 10
部屋10までの部屋を作成し、部屋10に10を配置注:
インデックス付きの0での作業は問題なく、その場合は出力の前に0を挿入できます
標準的な抜け穴は禁止されており、バイト単位の最短コードが勝ちます