본문 바로가기

백준/JAVA

[JAVA] 백준_11650

[문제]

11650번: 좌표 정렬하기 (acmicpc.net)

 

11650번: 좌표 정렬하기

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

www.acmicpc.net

[알고리즘]

2차원 배열에서 1열을 먼저 비교한 후 1열의 값이 같으면 2열의 값을 비교하여 정렬하면 된다.

.

.

.

여태까지 이미 정의된 함수를 이용해 오름차순과 내림차순 정렬만 접해보았던 나는 이번 문제를 통해 직접 정렬의 기준을 세울 수 있는 방법을 알 수 있었다. Comparable, Comparator, 익명객체에 대해 새롭게 배웠고 이 문제도 Comparator와 익명객체를 이용하여 정렬의 기준을 1열 비교 --> 2열 비교 순으로 새롭게 정의하여 풀어보았다.

자바 [JAVA] - Comparable 과 Comparator의 이해 (tistory.com)

 

자바 [JAVA] - Comparable 과 Comparator의 이해

아마 이 글을 찾아 오신 분들 대개는 Comparable과 Comparator의 차이가 무엇인지 모르거나 궁금해서 찾아오셨을 것이다. 사실 알고보면 두 개는 그렇게 어렵지 않으나 아무래도 자바를 학습하면서 객

st-lab.tistory.com

이 분의 설명이 매우 도움되었다. 

 

[풀이]

1. Scanner 사용

2. Scanner+StringBuilder사용

3. BufferedReader+StringBuilder 사용

위에서부터 3,2,1 풀이 순서이다.

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

[JAVA] 백준_10815  (0) 2023.08.03
[JAVA] 백준_18870  (0) 2023.08.01
[JAVA] 백준_2751  (0) 2023.07.28
[JAVA] 백준_2798  (0) 2023.07.25
[JAVA] 백준_9063  (0) 2023.07.24