https://www.acmicpc.net/problem/11650
[풀이]
- 정렬의 기준을 정할 수 있는지, 없는지에 대한 공부를 할 수 있는 문제였다.
- Comparator 인터페이스를 통해 정렬의 기준을 문제에서 주어진 조건에 맞춰서 정렬하였다.
(Comparator 인터페이스를 사용하는 법을 익히기 위한 연습문제로 좋은 것 같다!)
[코드]
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int N = Integer.parseInt(scanner.nextLine());
int[][] arr = new int[N][2];
for (int i = 0; i < N; i++) {
arr[i][0] = scanner.nextInt();
arr[i][1] = scanner.nextInt();
}
Arrays.sort(arr, (o1, o2) -> {
if (o1[0] == o2[0])
return o1[1] - o2[1];
else
return o1[0] - o2[0];
});
for (int i = 0; i < N; i++) {
System.out.println(arr[i][0] + " " + arr[i][1]);
}
}
}
'Algorithm > 백준' 카테고리의 다른 글
백준 10816번 : 숫자 카드 2(Java) (0) | 2021.08.27 |
---|---|
백준 2776번(Java) : 암기왕 (0) | 2021.08.27 |
백준 1431번 : 시리얼 번호(Java) (0) | 2021.08.25 |
백준 1018번 : 체스판 다시 칠하기(Java) (0) | 2021.08.23 |
백준 1436번 : 영화감독 숌(Java) (0) | 2021.08.23 |