[BOJ_11650 | compareTo] 좌표 정렬하기
2019. 1. 5. 00:33ㆍComputer Science/Problem Solving (PS)
문제 풀이
문제 자체는 그렇게 어렵지 않았으나,
compareTo 메소드를 구현하여
Arrays.sort 를 사용하면 간단하게 해결할 수 있는 문제였다.
따로 Merge Sort, Quick Sort 등을 구현하기 귀찮았다면
Object 객체를 하나 선언하고
Comparable Class를 구현하여 기준만 제대로 할당해 준다면
굉장히 간단하게 문제를 해결할 수 있었다.
간단한 설명을 덧붙이자면
x좌표가 비교하고자 하는 객체의 x좌표보다 작으면 -1, 크면 1을 리턴하고
같은 경우에 y좌표를 비교하여 리턴값을 -1, 1로 설정해주면
간단하게 구현이 가능하다.
소스 코드
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 | import java.util.*; public class BOJ_11650 { public static void main(String[] args){ Scanner input = new Scanner(System.in); int n = input.nextInt(); point[] arr = new point[n]; for(int i=0;i<n;i++){ int a = input.nextInt(); int b = input.nextInt(); arr[i] = new point(a, b); } Arrays.sort(arr); for(int i=0;i<n;i++){ System.out.println(arr[i].x+" "+arr[i].y); } } } class point implements Comparable<point>{ int x, y; point(int x, int y){ this.x = x; this.y = y; } public int compareTo(point p){ if(x < p.x) return -1; else if(x > p.x) return 1; else{ if(y < p.y) return -1; return 1; } } } | cs |
반응형
'Computer Science > Problem Solving (PS)' 카테고리의 다른 글
[BOJ_11403 | Floyd] 경로 찾기 (0) | 2019.01.19 |
---|---|
[BOJ_11586 | Array] 지영 공주님의 마법 거울 (0) | 2019.01.07 |
[BOJ_1181 | compareTo] 단어 정렬 (0) | 2019.01.03 |
[BOJ_3474 | Number Theory] 교수가 된 현우 (0) | 2019.01.02 |
[BOJ_4963 | DFS] 섬의 개수 (0) | 2019.01.02 |