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