본문 바로가기
BaekJoon/Silver

[BOJ/JAVA] 백준 11651 : 좌표 정렬하기 2 (자바)

by HoonSikE 2023. 2. 16.
반응형
SMALL
문제 정보
  문제명   - 좌표 정렬하기 2
  난이도   - 실버 V
문제 번호 - 11651번

문제 링크

https://www.acmicpc.net/problem/11651

 

11651번: 좌표 정렬하기 2

첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다.

www.acmicpc.net


문제
2차원 평면 위의 점 N개가 주어진다. 좌표를 y좌표가 증가하는 순으로, y좌표가 같으면 x좌표가 증가하는 순서로 정렬한 다음 출력하는 프로그램을 작성하시오.

입력
첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다.

출력
첫째 줄부터 N개의 줄에 점을 정렬한 결과를 출력한다.

예제 입력/출력
예제 입력 예제 출력
5
0 4
1 2
1 -1
2 2
3 3
1 -1
1 2
2 2
3 3
0 4

알고리즘 분류
● 정렬

소스코드
package Lv2_Silver;

import java.io.*;
import java.util.*;
/**
 * @author HanHoon
 * @category 정렬
 * https://www.acmicpc.net/problem/11651
 */
public class BOJ_S5_11651_좌표_정렬하기_2 {
    public static class Point{
        int x;
        int y;

        public Point(int x, int y){
            this.x = x;
            this.y = y;
        }

        @Override
        public String toString() { return x + " " + y + "\n"; }
    }
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st = null;
        StringBuilder str = new StringBuilder();

        // N개의 점
        int N = Integer.parseInt(br.readLine());

        Point[] arr = new Point[N];

        for (int t = 0; t < N; t++){
            st = new StringTokenizer(br.readLine());
            arr[t] = new Point(Integer.parseInt(st.nextToken()), Integer.parseInt(st.nextToken()));
        }

        Arrays.sort(arr, new Comparator<Point>(){
            @Override
            public int compare(Point p1, Point p2){
                if(p1.y == p2.y)
                    return p1.x - p2.x;
                return p1.y - p2.y;
            }
        });

        for(Point p : arr)
            str.append(p);

        System.out.print(str);
        br.close();
    }
}

 


BaekJoon List
 

BaekJoon List

BOJ Start!! ● [BOJ] 백준 회원가입, 시작하는 법 ● [BOJ] 등급(티어) 및 Solved.AC 적용 ● [BOJ/JAVA] 백준 소스코드 제출 시 유의사항(자바) Bronze ● Bronze V  - ● Bronze IV  - ● Bronze III  -..

han-hoon.tistory.com


  

기회는 준비된 자에게 찾아온다.

 


 

반응형
LIST

댓글