코딍코딍
코딩기록
코딍코딍
전체 방문자
오늘
어제
  • 분류 전체보기 (271)
    • 개발 (2)
    • Java (1)
    • 스프링 (28)
    • JPA (11)
    • Git (3)
    • 알고리즘 (160)
      • 백준 (132)
      • 프로그래머스 (8)
      • SWEA (20)
    • 토이 프로젝트 (14)
      • 간단한 Springboot CRUD (1)
      • 게시판 프로젝트 (13)
    • 알고리즘 개념정리 (8)
    • 오류 해결 (13)
    • 보류 (0)
    • AWS (5)
    • 트러블 슈팅 (0)
    • 회고 (3)
    • CS (4)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

최근 글

티스토리

hELLO · Designed By 정상우.
코딍코딍

코딩기록

알고리즘/백준

11651번 : 좌표 정렬하기 2

2022. 7. 6. 10:23

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

 

 

문제

 

 

코드

import java.util.Arrays;
import java.util.Comparator;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt(); sc.nextLine();
        int arr[][] = new int[n][2];
        for(int i=0;i<n;i++) {
            arr[i][0] = sc.nextInt();
            arr[i][1] = sc.nextInt();
            sc.nextLine();
        }
        Arrays.sort(arr, new Comparator<int[]>() {
            @Override
            public int compare(int[] o1, int[] o2) {
                if(o1[1]==o2[1]){
                    return o1[0]-o2[0];
                }
                else {
                    return o1[1]-o2[1];
                }
            }
        });
        for(int i=0;i<n;i++)
            System.out.println(arr[i][0] + " " + arr[i][1]);

    }
}

 

 

해결방법

Arrays.sort()를 사용해 2차원 배열을 y좌표로 오름차순 정렬하고 y좌표가 같다면 x좌표로 오름차순 정렬하여 문제를 해결하였다.

 

'알고리즘 > 백준' 카테고리의 다른 글

11659번 : 구간 합 구하기 4  (0) 2022.07.11
16435번 : 스네이크버드  (0) 2022.07.06
2875번 : 대회 or 인턴  (0) 2022.07.06
1343번 : 폴리오미노  (0) 2022.07.04
2847번 : 게임을 만든 동준이  (0) 2022.06.30
    '알고리즘/백준' 카테고리의 다른 글
    • 11659번 : 구간 합 구하기 4
    • 16435번 : 스네이크버드
    • 2875번 : 대회 or 인턴
    • 1343번 : 폴리오미노
    코딍코딍
    코딍코딍
    ㅎ2

    티스토리툴바