解答例コードをみて結構写しました。解答を見たとき、こ、これはずる・・もとい、賢いな!と思いました。多次元配列を使わずに通しているので。
import java.util.*;
public class Main {
public static void main(String[] args) {
// 自分の得意な言語で
// Let's チャレンジ!!
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
String[] hoges = new String[num];
for(int i=0; i<num; i++){
String a = sc.next();
String b = sc.next();
if(a.length()==1){
a = "0"+a;
}
if(b.length()==1){
b = "0"+b;
}
//hoges[i] = hogea + hogeb;//0102
hoges[i] = a + b;
}
Arrays.sort(hoges, Collections.reverseOrder());
for (int i = 0; i < num; i++) {
System.out.println(Integer.parseInt(hoges[i].substring(0,2)) + " " + Integer.parseInt(hoges[i].substring(2,4)));
}
}
}
配列hogesの中身
[0202, 0103]
リンゴ数を100の桁に、バナナ数を1の桁にのせて、リンゴ1バナナ3なら0103と4桁の数にし、その4桁の数で順位を見る。やられました。
https://paiza.jp/works/mondai/c_rank_level_up_problems/c_rank_sort_step3
paiza問題集
0