寝癖頭の解法

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

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.HashMap;
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String N = sc.nextLine();
        int n = Integer.parseInt(N);
        HashMap hm = new HashMap();
        for(int i = 0; i < n; i++){
            String str1 = sc.next();
            String str2 = sc.next();
            hm.put(str1, str2);
        }
        String s = sc.next();
        System.out.println(hm.get(s));
    }
}

・STEP: 2 辞書のデータ更新

/*
Javaによる「辞書」問題集
STEP: 2 辞書のデータ更新
https://paiza.jp/works/mondai
提出コードの解答例
https://neguse-atama.hatenablog.com
*/
import java.util.Scanner;
import java.util.HashMap;
import java.util.Map;
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();
            hm.put(str, 0);
        }
        int m = sc.nextInt();
        for(int i = 0; i < m; i++){
            String str = sc.next();
            int num = sc.nextInt();
            hm.put(str, hm.get(str) + num);
        }
        String ans = sc.next();
        System.out.println(hm.get(ans));
    }
}

・STEP: 3 辞書データの順序

/*
Javaによる「辞書」問題集
STEP: 3 辞書データの順序
https://paiza.jp/works/mondai
提出コードの解答例
https://neguse-atama.hatenablog.com
*/
import java.util.Scanner;
import java.util.TreeMap;
import java.util.Map;
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        TreeMap<String, Integer> tm = new TreeMap<String, Integer>();
        for(int i = 0; i < n; i++){
            String str = sc.next();
            tm.put(str, 0);
        }
        int m = sc.nextInt();
        for(int i = 0; i < m; i++){
            String str = sc.next();
            int num = sc.nextInt();
            tm.put(str, tm.get(str) + num);
        }
        for (String ans : tm.keySet()){
        System.out.println(tm.get(ans));
        }
    }
}

・FINAL問題: 辞書

/*
Javaによる「辞書」問題集
FINAL問題: 辞書
https://paiza.jp/works/mondai
提出コードの解答例
https://neguse-atama.hatenablog.com
*/
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
public class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int p = sc.nextInt();
        int q = sc.nextInt();
        int r = sc.nextInt();
        Map<Integer, Integer>  map1 = new HashMap<Integer, Integer>();
        Map<Integer, Integer>  map2 = new HashMap<Integer, Integer>();
        for(int i = 0; i < p; i++){
        	int Agroup = sc.nextInt();
        	int Bgroup = sc.nextInt();
        	map1.put(Agroup, Bgroup);
        }
        for(int i = 0; i < q; i++){
        	int Bgroup = sc.nextInt();
        	int Cgroup = sc.nextInt();
        	map2.put(Bgroup, Cgroup);
        }
        for(int i = 1; i <= p; i++){
            System.out.println(i + " " + map2.get(map1.get(i)));
        }
    }
}

これで「Cランクレベルアップセット」はすべて解き終えました。

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