1. 문제 링크
10814번: 나이순 정렬
온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을
www.acmicpc.net
2. 문제 및 입출력예제
3. 문제 풀이
Member 객체를 사용하는데 Comparable을 상속받아서 나이 기준으로 비교한다.
Arrays.sort()로 배열을 정렬하고 그대로 출력하면 된다.
4. 코드
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayDeque;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.LinkedList;
import java.util.Queue;
public class Main {
static class Member implements Comparable<Member>{
int age;
String name;
public Member(int age, String name) {
super();
this.age = age;
this.name = name;
}
@Override
public int compareTo(Member o) {
return this.age-o.age;
}
@Override
public String toString() {
return "" + age + " " + name+"\n";
}
}
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
int N = Integer.parseInt(br.readLine());
Member[] member = new Member[N];
for(int i=0;i<N;i++) {
String[] split = br.readLine().split(" ");
member[i] = new Member(Integer.parseInt(split[0]), split[1]);
}
Arrays.sort(member);
for(Member m: member) {
sb.append(m);
}
System.out.println(sb);
}
}
'ALGORITHM' 카테고리의 다른 글
백준 14502 연구소 (Java) (0) | 2023.04.21 |
---|---|
백준 20055 컨베이어 벨트 위의 로봇 (Java) (0) | 2023.04.20 |
백준 10773 제로 (Java) (0) | 2023.04.19 |
백준 14719 빗물 (Java) (0) | 2023.04.19 |
백준 2636, 2638 치즈 (Java) (0) | 2023.04.18 |