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