📌 문제
https://www.acmicpc.net/problem/10814
⏹ 정답 코드
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));
StringBuilder sb = new StringBuilder();
StringTokenizer st;
int n = Integer.parseInt(br.readLine());
String[][] a = new String[n][2];
for (int i = 0; i<n; i++){
st = new StringTokenizer(br.readLine());
a[i][0] = st.nextToken();
a[i][1] = st.nextToken();
}
Arrays.sort(a, new Comparator<String[]>() {
@Override
public int compare(String[] a, String[] b){
return Integer.parseInt(a[0]) - Integer.parseInt(b[0]);
}
});
for (int i = 0; i<n; i++){
sb.append(a[i][0]+ " " + a[i][1]+ "\n");
}
bw.write(sb.toString());
bw.flush();
bw.close();
br.close();
}
}
✅ Arrays.sort() 메서드
Arrays.sort() 메서드는 배열의 요소를 정렬하는 데 사용됩니다.
기본적으로 오름차순으로 정렬되며, 사용자가 직접 정의한 비교 규칙에 따라 정렬할 수도 있습니다.
이 메서드는 배열의 크기나 타입에 관계없이 사용할 수 있습니다.
Arrays.sort(a, new Comparator<String[]>() { ... })를 통해 2차원 배열 a를 정렬합니다.
Comparator<String[]>를 사용하여 비교 기준을 정의합니다.
compare 메서드에서 Integer.parseInt(a[0]) - Integer.parseInt(b[0])를 통해 첫 번째 열의 값을 정수로 변환하여 비교합니다. 이 방법은 두 값을 비교하여 정렬 순서를 결정합니다.
compare() 메서드는 두 개의 객체를 비교하고, 첫 번째 객체가 두 번째 객체보다 작으면 음수, 같으면 0, 크면 양수를 반환합니다.
'코딩 테스트 일지 📒' 카테고리의 다른 글
[백준] 1920 수 찾기 | 이분탐색, 해시 | 실버 Ⅳ | JAVA (0) | 2024.11.16 |
---|---|
[알고리즘/JAVA] DFS와 BFS (2) | 2024.11.13 |
[프로그래머스] 여행 경로 | DFS, BFS | Level.3 | JAVA (3) | 2024.10.11 |
[시스템 아키텍처] 컨테이너화: 현대 소프트웨어 배포의 혁신 (0) | 2024.10.11 |
[백준] 1260 DFS와 BFS | 그래프, DFS, BFS | 실버 Ⅱ | JAVA 💡뼈대 문제 (0) | 2024.10.10 |