import java.util.*; publicclassMain{ publicstaticvoidmain(String args[]){ Scanner sc = new Scanner(System.in); int n = sc.nextInt(); ArrayList<Integer> a = new ArrayList<Integer>(); // n개의 수를 입력받아 저장 for (int i=0; i<n; i++) { int temp = sc.nextInt(); a.add(temp); }
// ArrayList에 있는 모든 요소를 오름차순으로 정렬 Collections.sort(a);
//출력 for (int x : a) { System.out.println(x); } } }
import java.util.*; publicclassMain{ publicstaticvoidmain(String args[]){ Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int[] a = newint[n];
import java.util.*; import java.io.*; classPointimplementsComparable<Point> { int x, y; Point(int x, int y) { this.x = x; this.y = y; } publicintcompareTo(Point that){ if (this.x < that.x) { return -1; } elseif (this.x == that.x) { if (this.y < that.y) { return -1; } elseif (this.y == that.y) { return0; } else { return1; } } else { return1; } } } publicclassMain{ publicstaticvoidmain(String args[])throws IOException { BufferedReader bf = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(bf.readLine()); Point[] a = new Point[n]; for (int i=0; i<n; i++) { String[] temp = bf.readLine().split(" "); int x = Integer.parseInt(temp[0]); int y = Integer.parseInt(temp[1]); a[i] = new Point(x, y); }
// sort메소드에 어떻게 정렬할 건지를 두 번째 인자로 넣어주면 된다. Arrays.sort(a, new Comparator<Point>() { publicintcompare(Point p1, Point p2){ return p1.compareTo(p2); } }); StringBuilder sb = new StringBuilder(); for (Point p : a) { sb.append(p.x + " " + p.y + "\n"); } System.out.print(sb); } }
3. 좌표 정렬하기 2
(x,y)가 여러 개 있을 때, y가 증가하는 순으로, 같으면 x가 증가하는 순으로 정렬하는 문제.