Menu
Coddy logo textTech

Sorting

Coddyの「コーディング問題:第2弾」コースのレッスン 25/25。

現代のプログラミングには、ソートや探索のさまざまな手法が存在します。バブルソートやマージソートなどがその例です。数列の隣接する2つの要素のみを入れ替える(つまり、隣り合う要素同士を入れ替える)ことしかできない場合、その数列をソートするために必要な隣接要素の入れ替えの総数を出力してください。

challenge icon

チャレンジ

難しい

標準入力から自然数 N を読み込むプログラムを作成してください。続く行で、数列を表す N 個の数値を入力します。数列が小さい順に並ぶまで、隣接する要素の入れ替えを繰り返します。数列をソートするために必要な隣接入れ替えの総数を出力してください。

入力
5
4 2 1 5 3

出力
5

解説
[4 | 2]   2 4 1 5 3
[4 | 1]   2 1 4 5 3
[1 | 2]   1 2 4 5 3
[5 | 3]   1 2 4 3 5
[3 | 4]   1 2 3 4 5

自分で試してみよう

#include <stdio.h>

int main() {
    // ここにコードを記述します
    return 0;
}

コーディング問題:第2弾のすべてのレッスン