Skip to content

Commit 4e33ec7

Browse files
committed
[Silver V] Title: 좌표 정렬하기, Time: 716 ms, Memory: 70972 KB -BaekjoonHub
1 parent ad3eec9 commit 4e33ec7

File tree

2 files changed

+66
-0
lines changed

2 files changed

+66
-0
lines changed
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# [Silver V] 좌표 정렬하기 - 11650
2+
3+
[문제 링크](https://www.acmicpc.net/problem/11650)
4+
5+
### 성능 요약
6+
7+
메모리: 70972 KB, 시간: 716 ms
8+
9+
### 분류
10+
11+
정렬
12+
13+
### 제출 일자
14+
15+
2025년 3월 11일 11:10:18
16+
17+
### 문제 설명
18+
19+
<p>2차원 평면 위의 점 N개가 주어진다. 좌표를 x좌표가 증가하는 순으로, x좌표가 같으면 y좌표가 증가하는 순서로 정렬한 다음 출력하는 프로그램을 작성하시오.</p>
20+
21+
### 입력
22+
23+
<p>첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 x<sub>i</sub>와 y<sub>i</sub>가 주어진다. (-100,000 ≤ x<sub>i</sub>, y<sub>i</sub> ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다.</p>
24+
25+
### 출력
26+
27+
<p>첫째 줄부터 N개의 줄에 점을 정렬한 결과를 출력한다.</p>
28+
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
import java.util.*;
2+
import java.io.*;
3+
4+
public class Main {
5+
static int N;
6+
static StringTokenizer st;
7+
static TreeMap<Integer, List<Integer>> map = new TreeMap<>();
8+
9+
public static void main(String[] args) throws IOException{
10+
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
11+
StringBuilder sb = new StringBuilder();
12+
13+
int N = Integer.parseInt(br.readLine());
14+
15+
for(int i=0; i<N; i++){
16+
st = new StringTokenizer(br.readLine());
17+
int key = Integer.parseInt(st.nextToken());
18+
int value = Integer.parseInt(st.nextToken());
19+
map.putIfAbsent(key, new ArrayList<>()); //키 존재 x
20+
map.get(key).add(value); //value 저장
21+
}
22+
23+
24+
for(Map.Entry<Integer, List<Integer>> entry : map.entrySet()){
25+
int x = entry.getKey();
26+
List<Integer> values = entry.getValue();
27+
Collections.sort(values);
28+
29+
for(int i=0; i<values.size(); i++){
30+
sb.append(x + " " + values.get(i) + "\n");
31+
}
32+
33+
}
34+
35+
System.out.println(sb);
36+
37+
}
38+
}

0 commit comments

Comments
 (0)