백준공부/java
[백준] 1431번 시리얼 번호 (silver 3
gomduri43
2023. 7. 10. 00:54
import java.io.*;
import java.util.*;
public class Main{
public static void main(String[] args) throws IOException{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(System.out));
int n=Integer.parseInt(br.readLine());
String[] serial=new String[n];
for(int i=0; i<n; i++){
serial[i]=br.readLine();
}
Arrays.sort(serial, new Comparator<String>(){
@Override
public int compare(String o1, String o2){
if(o1.length() != o2.length()){
return o1.length()-o2.length();
}
else {
int temp1 = 0;
int temp2 = 0;
for (int i = 0; i < o1.length(); i++) {
if (0 <= o1.charAt(i) - '0' && o1.charAt(i) - '0' <= 9) {
temp1 += o1.charAt(i) - '0';
}
if (0 <= o2.charAt(i) - '0' && o2.charAt(i) - '0' <= 9) {
temp2 += o2.charAt(i) - '0';
}
}
if (temp1 == temp2) {
return o1.compareTo(o2);
}
else {
return temp1 - temp2;
}
}
}
});
for(String s : serial){
bw.write(s+"\n");
}
bw.flush();
}
}