寝癖頭の解法

学習中の覚え書きを投稿、更新していきます。

paizaラーニング: Javaによる「ソート」問題集

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ラーニングのレベルアップ問題集については、ユーザー同士で解答を教え合ったり、コードを公開したりするのは自由としています。
また授業や研修、教材などにも利用できるそうです。