https://www.acmicpc.net/problem/10814
1. 아이디어
클래스에서 Comparable 인터페이스를 구현하는 방식으로 객체간 정렬을 할 수 있다.
2. 문제풀이
회원 객체를 Member 클래스를 통해 생성하는데 이때 Comparable 인터페이스의 compareTo 메서드를 구현해서 나이 순, 나이가 같으면 가입한 순으로 정렬하도록 기준을 설정하는 방식으로 구현했다.
3. 코드
import java.io.*;
import java.util.*;
public class Main {
static class Member implements Comparable<Member> {
int age;
String name;
public Member(int age, String name) {
this.age = age;
this.name = name;
}
@Override
public int compareTo(Member o) {
if (this.age != o.age) return Integer.compare(this.age, o.age);
return 0;
}
}
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringBuilder sb = new StringBuilder();
StringTokenizer st;
int N = Integer.parseInt(br.readLine());
List<Member> list = new ArrayList<>();
for (int i = 0; i < N; i++) {
st = new StringTokenizer(br.readLine());
int age = Integer.parseInt(st.nextToken());
String name = st.nextToken();
list.add(new Member(age, name));
}
Collections.sort(list);
for (Member member : list) {
sb.append(member.age).append(" ").append(member.name).append("\n");
}
bw.write(sb.toString());
bw.flush();
}
}
4. 후기
'코딩테스트 준비 > 백준' 카테고리의 다른 글
[백준] 1431번 - 시리얼 번호 [Java] (1) | 2024.12.23 |
---|---|
[백준] 1351번 - 무한 수열 [Java] (0) | 2024.12.23 |
[백준] 11656번 - 접미사 배열 [Java] (0) | 2024.12.23 |
[백준] 11652번 - 카드 [Java] (0) | 2024.12.23 |
[백준] 1181번 - 단어 정렬 [Java] (0) | 2024.12.23 |