๐งฉ Baekjoon 11651 - ์ขํ ์ ๋ ฌํ๊ธฐ 2
๐งฉ Baekjoon 11651 - ์ขํ ์ ๋ ฌํ๊ธฐ 2
๋ฌธ์
2์ฐจ์ ํ๋ฉด ์์ ์ N๊ฐ๊ฐ ์ฃผ์ด์ง๋ค. ์ขํ๋ฅผ y์ขํ๊ฐ ์ฆ๊ฐํ๋ ์์ผ๋ก, y์ขํ๊ฐ ๊ฐ์ผ๋ฉด x์ขํ๊ฐ ์ฆ๊ฐํ๋ ์์๋ก ์ ๋ ฌํ ๋ค์ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์ ์ ์ ๊ฐ์ N (1 โค N โค 100,000)์ด ์ฃผ์ด์ง๋ค.ย ๋์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์๋ i๋ฒ์ ์ ์์น xi์ yi๊ฐ ์ฃผ์ด์ง๋ค. (-100,000 โค xi, yiย โค 100,000) ์ขํ๋ ํญ์ ์ ์์ด๊ณ , ์์น๊ฐ ๊ฐ์ ๋ ์ ์ ์๋ค.
์ถ๋ ฅ
์ฒซ์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์ ์ ์ ์ ๋ ฌํย ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํ๋ค.
์์
โ ์ ๋ ฅ 1
1
2
3
4
5
6
5
0 4
1 2
1 -1
2 2
3 3
โ ์ถ๋ ฅ 1
1
2
3
4
5
1 -1
1 2
2 2
3 3
0 4
์์ฑ ์ฝ๋
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
// 1. ๋ณ์ ์ ์ธ ๋ฐ ์ด๊ธฐํ
StringBuilder sb = new StringBuilder();
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
int[][] coordinates = new int[n][2];
// 2. 2์ฐจ์ ๋ฐฐ์ด ์ด๊ธฐํ
for (int i = 0; i < n; i++) {
StringTokenizer st = new StringTokenizer(br.readLine());
for (int j = 0; j < 2; j++) coordinates[i][j] = Integer.parseInt(st.nextToken());
}
// 3. ๋ฐฐ์ด ์ ๋ ฌ
Arrays.sort(coordinates, (o1, o2) -> {
if (o1[1] == o2[1]) return o1[0] - o2[0];
return o1[1] - o2[1];
});
// 4. ๋ฌธ์์ด ์กฐํฉ
for (int[] arr : coordinates) sb.append(arr[0]).append(" ").append(arr[1]).append("\n");
// 5. ์ถ๋ ฅ
System.out.println(sb);
}
}
This post is licensed under CC BY 4.0 by the author.