paizaラーニングのレベルアップ問題集「Cランクレベルアップセット」からの出典です。
paiza.jp
Javaによる「ソート」問題集と、それらの提出コードの解答例です。
僕が作成、提出したコードは、以下のとおりです。
・STEP: 1 昇順ソート
/* Javaによる「ソート」問題集 STEP: 1 昇順ソート 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 n = sc.nextInt(); ArrayList al = new ArrayList(); for(int i = 0; i < n; i++){ int num = sc.nextInt(); al.add(num); } Collections.sort(al); for(int i = 0; i < al.size(); i++){ System.out.println(al.get(i)); } } }
・STEP: 2 降順ソート
/* Javaによる「ソート」問題集 STEP: 2 降順ソート 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 n = sc.nextInt(); ArrayList al = new ArrayList(); for(int i = 0; i < n; i++){ int num = sc.nextInt(); al.add(num); } Collections.sort(al); Collections.reverse(al); for(int i = 0; i < al.size(); i++){ System.out.println(al.get(i)); } } }
・STEP: 3 辞書式ソート
/* Javaによる「ソート」問題集 STEP: 3 辞書式ソート https://paiza.jp/works/mondai 提出コードの解答例 https://neguse-atama.hatenablog.com */ import java.util.ArrayList; import java.util.Collections; import java.util.Scanner; public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); int n = sc.nextInt(); ArrayList<String> list = new ArrayList<String>(); for(int i = 0; i < n; i++){ String apple = sc.next(); String banana = sc.next(); if(apple.length() == 1){ apple = "0" + apple; } if(banana.length() == 1){ banana = "0" + banana; } list.add(apple + banana); } Collections.sort(list); for(int i = n - 1; i >= 0; i--){ String str = list.get(i); int ans1 = Integer.parseInt(str.substring(0,2)); int ans2 = Integer.parseInt(str.substring(2,4)); System.out.println(ans1 + " " + ans2); } } }
・FINAL問題: ソート
/* Javaによる「ソート」問題集 FINAL問題: ソート https://paiza.jp/works/mondai 提出コードの解答例 https://neguse-atama.hatenablog.com */ import java.util.ArrayList; import java.util.Collections; import java.util.Scanner; public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); int n = sc.nextInt(); ArrayList<String> list = new ArrayList<String>(); for(int i = 0; i < n; i++){ String gold = sc.next(); String silver = sc.next(); if(gold.length() == 1){ gold = "0" + gold; } if(silver.length() == 1){ silver = "0" + silver; } list.add(silver + gold); } Collections.sort(list); for(int i = n - 1; i >= 0; i--){ String str = list.get(i); int ans2 = Integer.parseInt(str.substring(0,2)); int ans1 = Integer.parseInt(str.substring(2,4)); System.out.println(ans1 + " " + ans2); } } }
paizaラーニングのレベルアップ問題集については、ユーザー同士で解答を教え合ったり、コードを公開したりするのは自由としています。
また授業や研修、教材などにも利用できるそうです。