๋ฌธ์
๋ฌธ์ ๋งํฌ https://www.acmicpc.net/problem/11650
- 2์ฐจ์ ํ๋ฉด ์์ ์ N๊ฐ๊ฐ ์ฃผ์ด์ง๋ค. ์ขํ๋ฅผ x์ขํ๊ฐ ์ฆ๊ฐํ๋ ์์ผ๋ก, x์ขํ๊ฐ ๊ฐ์ผ๋ฉด y์ขํ๊ฐ ์ฆ๊ฐํ๋ ์์๋ก ์ ๋ ฌํ ๋ค์ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
- ์ฒซ์งธ ์ค์ ์ ์ ๊ฐ์ N (1 ≤ N ≤ 100,000)์ด ์ฃผ์ด์ง๋ค.
- ๋์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์๋ i๋ฒ์ ์ ์์น xi์ yi๊ฐ ์ฃผ์ด์ง๋ค. (-100,000 ≤ xi, yi ≤ 100,000) ์ขํ๋ ํญ์ ์ ์์ด๊ณ , ์์น๊ฐ ๊ฐ์ ๋ ์ ์ ์๋ค.
- ์ฒซ์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์ ์ ์ ์ ๋ ฌํ ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํ๋ค.
์์ด๋์ด
- ์ด์ ๊ณต๋ถํ๋ Comparator์ ์ฌ์ฉํ์ฌ x์ขํ๊ฐ์ ๋น๊ตํด์ฃผ๊ณ ๊ฐ์ ๊ฒฝ์ฐ, y๊ฐ์ ๋น๊ตํด์ฃผ์๋ค.
๊ฒช์ ์ํ์ฐฉ์ค
- X
์ฝ๋
import java.io.*;
import java.util.*;
public class BOJ11650 {
public static void main(String[] args) throws Exception{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
int N = Integer.parseInt(br.readLine());
// ์ขํ ๊ฐ ์ ์ฅํ ๋ฐฐ์ด
int arr[][] = new int[N][2];
// ์
๋ ฅ ๊ฐ์ ๋ฐฐ์ด์ ์ ์ฅ
for(int i = 0; i < N; i++){
StringTokenizer st = new StringTokenizer(br.readLine());
arr[i][0] = Integer.parseInt(st.nextToken());
arr[i][1] = Integer.parseInt(st.nextToken());
}
// ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ
Arrays.sort(arr, (n1, n2) -> {
// ๋ง์ฝ x์ขํ์ ๊ฐ์ด ๊ฐ๋ค๋ฉด
if((n1[0] - n2[0]) == 0){
// y์ขํ ๊ฐ์ ๋น๊ตํด์ ์ ๋ ฌ
return n1[1] - n2[1];
}
// ์๋๋ผ๋ฉด x์ขํ ๊ฐ์ผ๋ก ์ ๋ ฌ
return n1[0] - n2[0];
});
for(int i = 0; i < N; i++){
sb.append(arr[i][0] + " " + arr[i][1] + "\n");
}
System.out.println(sb);
}
}
'์๊ณ ๋ฆฌ์ฆ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Java] BOJ 11866 ์์ธํธ์ค ๋ฌธ์ 0 (0) | 2024.07.17 |
---|---|
[Java] BOJ 11651 ์ขํ ์ ๋ ฌํ๊ธฐ 2 (0) | 2024.07.16 |
[Java] BOJ 10814 ๋์ด์ ์ ๋ ฌ (2) | 2024.07.16 |
[Java] BOJ 7568 ๋ฉ์น (0) | 2024.07.15 |
[Java] BOJ 2751 ์ ์ ๋ ฌํ๊ธฐ 2 (0) | 2024.07.15 |