[백준] 11650번: 좌표 정렬하기 - JAVA

2024. 9. 20. 01:14·알고리즘

[작성일: 2023. 10. 19]

 

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

 

 

풀이

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Arrays;

public class Main {
    public static void main(String[] args) throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int n = Integer.valueOf(br.readLine());
        int[][] arr = new int[n][2];
        for (int i = 0; i < n; i++) {
            String[] input = br.readLine().trim().split(" ");
            arr[i][0] = Integer.parseInt(input[0]);
            arr[i][1] = Integer.parseInt(input[1]);
        }
        Arrays.sort(arr, (arr1, arr2) -> {
            if (arr1[0] == arr2[0]) {
                return Integer.compare(arr1[1], arr2[1]);
            }
            return Integer.compare(arr1[0], arr2[0]);
        });

        for (int i = 0; i < n; i++) {
            System.out.println(arr[i][0] + " " + arr[i][1]);
        }
        br.close();
    }
}

 

이 문제를 Scanner로 풀면 시간초과 오류가 나서 BufferedReader로 풀었다.

BufferedReader로 한 줄씩 입력을 읽고, 그 줄을 공백으로 분리해서 두 정수를 2차원배열 arr에 저장한다.

 

정렬 부분은 람다식을 사용했는데 아직 익숙하지 않아서 구글링의 도움을 받았다.

arr 배열을 정렬하고 정렬 기준인 arr1, arr2를 람다식의 매개변수로 두 x, y 좌표를 나타냈다.

arr1[0]과 arr2[0], 즉 첫번째 x와 두번째 x 좌표를 비교해서 두 점의 좌표가 같다면 arr1[1], arr2[1], 즉 y좌표들을 비교한다.

 

저작자표시 비영리 변경금지 (새창열림)
'알고리즘' 카테고리의 다른 글
  • [프로그래머스] 실패율 - JAVA
  • [백준] 1181번: 단어 정렬 - JAVA
  • [백준] 10989번: 수 정렬하기 3 - JAVA
  • [백준] 2751번: 수 정렬하기 2 - JAVA
뚜비
뚜비
1년차 백엔드&iOS 개발자의 감자 탈출 블로그 🥔🥔
  • 뚜비
    뚜비의 개발로그
    뚜비
  • 전체
    오늘
    어제
  • 글쓰기     관리
    • Devlog
      • Back-End
        • Java
        • Spring
        • JPA
        • HTTP
        • Security
        • Back-End
        • Front-End
      • 알고리즘
      • iOS
        • Swift
      • Database
      • Tips
        • Git & GitHub
        • A to Z
      • 프로젝트
      • 생각정리
  • 태그

    javascript
    Database
    의존성주입
    spring
    Swift
    Security
    백준
    MVC
    게시판만들기
    최주호
    데이터베이스
    자바
    sql
    DB
    Spring Security
    객체
    성능최적화
    알고리즘
    Java
    김영한
    스프링
    다형성
    JPA
    jsp
    html
    변수
    자바스크립트
    프로그래머스
    HTTP
    생성자
  • hELLO· Designed By정상우.v4.10.0
뚜비
[백준] 11650번: 좌표 정렬하기 - JAVA
상단으로

티스토리툴바