整数を小さい順に並び替える問題と、その提出コードの解答例です。
paizaラーニングのレベルアップ問題集「スキルチェック見本問題」からの出典です。
paiza.jp
・問題
1行目で正の整数nが入力され、続くn行の各行で整数が1つずつ入力されます。n個の整数を小さい順に改行区切りで出力してください。
・入力される値:入力は以下のフォーマットで与えられます。
n (数字の総数)
a_1
a_2
a_3
...
a_i
...
a_n
入力値最終行の末尾に改行が1つ入ります。
文字列は標準入力から渡されます。
・期待する出力
入力された正の整数a_iを小さい順に改行区切りで出力してください。
最後は改行し、余計な文字、空行を含んではいけません。
・条件
すべてのテストケースにおいて、以下の条件をみたします。
1 ≦ n ≦ 100
1 ≦ i ≦ nについて、1 ≦ a_i ≦ 1000
僕が作成、提出したコードは、以下のとおりです。
/* C言語による整数の並び替え https://paiza.jp/works/mondai 提出コードの解答例 https://neguse-atama.hatenablog.com */ #include <stdio.h> int main(void) { int n,i,j,tmp; int a[100]; scanf("%d",&n); for (i=0; i<n; ++i) scanf("%d", &a[i]); for (i=0; i<n; ++i) { for (j=i+1; j<n; ++j) { if (a[i] > a[j]) { tmp = a[i]; a[i] = a[j]; a[j] = tmp; } } } for (i=0; i<n; ++i) printf("%d\n", a[i]); return 0; }
Pythonのバージョンは、3.x に対応します。
#Pythonによる数の並び替え #https://paiza.jp/works/mondai #提出コードの解答例 #https://neguse-atama.hatenablog.com n = int(input()) n_list = [] for i in range(n): a = int(input()) n_list.append(a) sorted_l = sorted(n_list) for i in sorted_l: print(i)
/* Javaによる整数の並び替え https://paiza.jp/works/mondai 提出コードの解答例 https://neguse-atama.hatenablog.com */ import java.util.Scanner; import java.util.ArrayList; import java.util.Collections; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int num = sc.nextInt(); ArrayList list = new ArrayList(); for(int i = 0; i < num; i++){ int n = sc.nextInt(); list.add(n); } Collections.sort(list); for(int i = 0; i < num; i++){ System.out.println(list.get(i)); } } }
paizaラーニングのレベルアップ問題集については、ユーザー同士で解答を教え合ったり、コードを公開したりするのは自由としています。
また授業や研修、教材などにも利用できるそうです。