寝癖頭の解法

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

paizaラーニング: Javaによる「Bランクレベルアップメニュー」問題集: 文字と整数の組のソート2

paizaラーニングのレベルアップ問題集「Bランクレベルアップセット」からの出典です。
paiza.jp
「文字と整数の組のソート2」問題集と、それらの提出コードの解答例です。

僕が作成、提出したコードは、以下のとおりです。

・STEP: 1 インクリメント

/*
Javaによる「文字と整数の組のソート2」問題集
STEP: 1 インクリメント
https://paiza.jp/works/mondai
提出コードの解答例
https://neguse-atama.hatenablog.com
*/
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        System.out.println(n + 1);
    }
}

・STEP: 2 重複の判定

/*
Javaによる「文字と整数の組のソート2」問題集
STEP: 2 重複の判定
https://paiza.jp/works/mondai
提出コードの解答例
https://neguse-atama.hatenablog.com
*/
import java.util.ArrayList;
import java.util.TreeSet;
public class Main{
	public static void main(String[] args) {
		ArrayList list = new ArrayList();
		list.add("HND");
		list.add("NRT");
		list.add("KIX");
		list.add("NGO");
		list.add("NGO");
		TreeSet tr = new TreeSet();
		tr.add("HND");
		tr.add("NRT");
		tr.add("KIX");
		tr.add("NGO");
		tr.add("NGO");
		boolean ans = (list.size() != tr.size());
		System.out.println(ans);
	}
}

・STEP: 3 配列(リスト)の重複カウント

/*
Javaによる「文字と整数の組のソート2」問題集
STEP: 3 配列(リスト)の重複カウント
https://paiza.jp/works/mondai
提出コードの解答例
https://neguse-atama.hatenablog.com
*/
import java.util.ArrayList;
import java.util.TreeSet;
public class Main{
	public static void main(String[] args) {
		ArrayList list = new ArrayList();
		list.add("HND");
		list.add("NRT");
		list.add("KIX");
		list.add("NGO");
		list.add("NGO");
		list.add("NGO");
		list.add("NGO");
		list.add("NGO");
		TreeSet tr = new TreeSet();
		tr.add("HND");
		tr.add("NRT");
		tr.add("KIX");
		tr.add("NGO");
		tr.add("NGO");
		tr.add("NGO");
		tr.add("NGO");
		tr.add("NGO");
		int ans = list.size() - tr.size() + 1;
		System.out.println(ans);
	}
}

・STEP: 4 配列のソート

/*
Javaによる「文字と整数の組のソート2」問題集
STEP: 4 配列のソート
https://paiza.jp/works/mondai
提出コードの解答例
https://neguse-atama.hatenablog.com
*/
import java.util.Arrays;
public class Main{
	public static void main(String[] args) {
		int[] foo = {1, 3, 5, 6, 3, 2, 5, 23, 2};
		Arrays.parallelSort(foo);
		for(int i : foo) {
			System.out.println(i);
		}
	}
}

・STEP: 5 数字のみの出力

/*
Javaによる「文字と整数の組のソート2」問題集
STEP: 5 数字のみの出力
https://paiza.jp/works/mondai
提出コードの解答例
https://neguse-atama.hatenablog.com
*/
import java.util.Scanner;
public class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        String N = sc.nextLine();
        int n = Integer.parseInt(N);
        for(int i = 0; i < n; i++) {
        String str = sc.next();
        int num = sc.nextInt();
        System.out.println(num);
        }       
    }
}

・STEP: 6 昇順ソート出力

/*
Javaによる「文字と整数の組のソート2」問題集
STEP: 6 昇順ソート出力
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 list = new ArrayList();
        for(int i = 0; i < n; i++) {
        	int num = sc.nextInt();
        	list.add(num);
        }
        Collections.sort(list);
        for(int i = 0; i < n; i++) {
            System.out.println(list.get(i));
        }
    }
}

・FINAL問題: 文字と整数の組のソート2

/*
Javaによる「文字と整数の組のソート2」問題集
FINAL問題: 文字と整数の組のソート2
https://paiza.jp/works/mondai
提出コードの解答例
https://neguse-atama.hatenablog.com
*/
import java.util.Scanner;
import java.util.HashMap;
import java.util.Map;
import java.util.TreeMap;
import java.util.Comparator;
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        HashMap<String, Integer> hm = new HashMap<String, Integer>();
        for(int i = 0; i < n; i++){
            String str = sc.next();
            int num = sc.nextInt();
            if(hm.containsKey(str)){
                hm.put(str, hm.get(str) + num);
            }else{
            hm.put(str, num);
            }
        }
        TreeMap<Integer, String> tm = new TreeMap<>(new Comparator<Integer>(){
            public int compare(Integer foo, Integer bar){
                return bar.compareTo(foo);
            }
        });
        for(Map.Entry<String, Integer> ans1 : hm.entrySet()){
            tm.put(ans1.getValue(), ans1.getKey());
        }
        for (Map.Entry<Integer, String> ans2 : tm.entrySet()) {
			System.out.println(ans2.getValue() + " " + ans2.getKey());
		}
    }
}

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