๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
  • ์žฅ์›์ต ๊ธฐ์ˆ ๋ธ”๋กœ๊ทธ
๐Ÿ’ป Computer Science/- Data Structure, Algorithm

[์•Œ๊ณ ๋ฆฌ์ฆ˜-๋ฐฑ์ค€(์ •๋ ฌ)] ๋ฐฑ์ค€ 11650๋ฒˆ ์ขŒํ‘œ ์ •๋ ฌํ•˜๊ธฐ ์ž๋ฐ” ๋ฌธ์ œํ’€์ด.(Comparable์„ ์ด์šฉํ•œ ๊ฐ์ฒด ๋น„๊ต, 2์ฐจ์› ๋ฐฐ์—ด ์ •๋ ฌ)

by Wonit 2020. 2. 24.

๋ฌธ์ œ

์ž…๋ ฅ ๋ฐ ์ถœ๋ ฅ ์˜ˆ์‹œ

๋ฌธ์ œ ์ดํ•ด

์ด ๋ฌธ์ œ๊ฐ€ ์šฐ๋ฆฌ๋ฅผ ํ†ตํ•ด ํ™•์ธํ•˜๊ณ ์ž ํ•˜๋Š” ๊ฐœ๋…์€ ๋‘ ๊ฐ€์ง€์˜ ํ•„๋“œ๋ฅผ ๋ฌถ์–ด์„œ ๋น„๊ต๋ฅผ ํ•  ์ˆ˜ ์žˆ๋Š๋ƒ ์ด๋‹ค.

์ด ๋ฌธ์ œ๋Š” ๋‘๊ฐœ์˜ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์œผ๋กœ ๊ฐ€๋Šฅํ•˜๋‹ค.

  1. 2์ฐจ์› ๋ฐฐ์—ด๋กœ์จ์˜ ํ’€์ด
  2. ๊ฐ์ฒด๋ฅผ ์ด์šฉํ•˜์—ฌ comparable์„ ์ด์šฉํ•œ ํ’€์ด.

๋ฌธ์ œ ํ•ด๊ฒฐ ์ ‘๊ทผ

๊ฐ์ฒด๋ฅผ ์ด์šฉํ•ด์„œ ์ •๋ ฌ

๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•ด์„œ ๊ฐ์ฒด์˜ ์ •๋ ฌ ๋ฐฉ์‹์„ ์žฌ์ •์˜ ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐ ํ•  ์ˆ˜ ์žˆ์„๊ฒƒ ๊ฐ™๋‹ค.

์†Œ์Šค ์ฝ”๋“œ

package algorithm.class04_Sort;
import java.util.*;

public class Prob08_CoordinationSort {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int n = input.nextInt();

        Point[] points = new Point[n];
        for (int i = 0; i < n; i++) {
            int x = input.nextInt();
            int y = input.nextInt();
            points[i] = new Point(x, y);
        }
        Arrays.sort(points);

        for (int i = 0; i < n; i++) {
            System.out.println(points[i].x + " " + points[i].y);
        }
    }
}

class Point implements Comparable<Point>{
    Integer x, y;

    Point(int x, int y) {
        this.x = x;
        this.y = y;
    }
    @Override
    public int compareTo(Point o){
        if(this.x > o.x) return 1;
        else if(this.x.equals(o.x)) {
            if(this.y > o.y) return 1;
            else if(this.y.equals(o.y)) return 0;
            else return -1;
        }else return -1;
    }
}


๋Œ“๊ธ€