반응형
1931 문제를 풀고 난 후 푸니까 매우 쉬웠다.
Comparator를 사용한 정렬을 했다.
아래는 1931 문제에서 Comparator를 사용한 내용
그리고 11650 좌표정렬하기 1 번이랑 문제가 또오오오옥같다. (x좌표랑 y좌표만 바꾸면 됨)
-------------------------------------1931-------------------------------------
이때, 나는 Comparator를 이용해 정렬을 했다.
정렬을 할 때
1 1 0 1
1 1 ---> 1 1
0 1 ---> 1 1
2 3 2 3
처럼 정렬이 되어야 하는데 기본 Comparator 에서는 정렬되지 않기 때문에
동일 시 되었을 경우 앞에 값을 우선으로 하는 start[1] ==end[1] 이라는 조건을 넣어
종료시간 정렬 후 종료 시간이 같을 경우, 시작시간에 따라 다시 한번 정렬을 했다.
-------------------------------------1931-------------------------------------
11651 좌표 정렬하기 2 소스코드
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | import java.util.Arrays; import java.util.Comparator; import java.util.Scanner; public class Main { public static void main(String[] args) throws Exception { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); int[][] arr = new int[N][2]; for (int i = 0; i < N; i++) { arr[i][0] = sc.nextInt(); arr[i][1] = sc.nextInt(); } Arrays.sort(arr, new Comparator<int[]>() { @Override public int compare(int[] x, int[] y) { if(x[1]==y[1]){ return Integer.compare(x[0], y[0]); } return Integer.compare(x[1], y[1]); } }); for (int i = 0; i < N; i++) { System.out.println(arr[i][0] + " " + arr[i][1]); } } } | cs |
반응형
'나는요 공부가 좋....은걸... > 알고리즈음' 카테고리의 다른 글
[BOJ] 백준 10825 - 국영수 (자바) (0) | 2018.01.13 |
---|---|
[BOJ] 백준 2399 - 거리의 차이 (자바) (0) | 2018.01.13 |
[BOJ] 백준 10814 - 나이순 정렬 (자바) (0) | 2018.01.12 |
[BOJ] 백준 11650 - 좌표 정렬하기 (자바) (0) | 2018.01.12 |
[BOJ] 백준 1427 - 소트인사이드 (자바) (0) | 2018.01.12 |