import java.io.*;
import java.util.*;
class Member implements Comparable<Member>{
int age;
String name;
Member(int age, String name){
this.age=age;
this.name=name;
}
@Override
public int compareTo(Member o) {
// TODO Auto-generated method stub
if(this.age>o.age) return 1; //나이에 대해 오름차순
else if(this.age<o.age) return -1;
else return 0;
}
}
class Main{
static BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
static BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(System.out));
static StringBuilder sb=new StringBuilder();
static int N;
static ArrayList<Member> list;
public static void main(String args[]) throws Exception {
N=Integer.parseInt(br.readLine());
list=new ArrayList<>();
for(int i=0;i<N;i++) {
String s[]=br.readLine().split(" ");
list.add(new Member(Integer.parseInt(s[0]), s[1]));
}
Collections.sort(list);
for(int i=0;i<list.size();i++) {
bw.write(list.get(i).age+" "+list.get(i).name+"\n");
}
bw.flush();
bw.close();
}
}
Member 클래스를 선언해 age와 name을 값으로 받았습니다.
이후 Comparable을 implements해 age만을 기준으로 정렬해 답을 구할 수 있었습니다.
'프로그래밍 문제 > BOJ(백준 온라인 저지)' 카테고리의 다른 글
[BOJ 14888번] 연산자 끼워넣기(JAVA) (0) | 2020.10.06 |
---|---|
백준 11654 / 아스키 코드 / C (0) | 2020.10.06 |
백준 15596 / C / 정수 N 개의 합 / * (0) | 2020.10.05 |
[BOJ 1181번] 단어 정렬(JAVA) (0) | 2020.09.30 |
[BOJ 1753번] 최단경로(JAVA) (0) | 2020.09.29 |