Algorithm

๋ฐฑ์ค€ 11650 ์ขŒํ‘œ ์ •๋ ฌํ•˜๊ธฐ with JAVA

hyunjun's developing ๐Ÿฃ 2023. 12. 29. 17:03

 

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

 

11650๋ฒˆ: ์ขŒํ‘œ ์ •๋ ฌํ•˜๊ธฐ

์ฒซ์งธ ์ค„์— ์ ์˜ ๊ฐœ์ˆ˜ N (1 ≤ N ≤ 100,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์—๋Š” i๋ฒˆ์ ์˜ ์œ„์น˜ xi์™€ yi๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (-100,000 ≤ xi, yi ≤ 100,000) ์ขŒํ‘œ๋Š” ํ•ญ์ƒ ์ •์ˆ˜์ด๊ณ , ์œ„์น˜๊ฐ€ ๊ฐ™์€ ๋‘ ์ ์€ ์—†๋‹ค.

www.acmicpc.net

๋ฌธ์ œ์˜ ์ •๋‹ต๋ฅ ์€ 47.957๋กœ ์—ฌ๋Ÿฌ ๋ฐฑ์ค€ ๋ฌธ์ œ๋“ค์— ๋น„ํ•ด์„œ ๋†’์€ ํŽธ์ด์ง€๋งŒ ๋‚˜์—๊ฒŒ๋Š” ์ข€ ์–ด๋ ค์› ๋˜ ๊ฒƒ ๊ฐ™๋‹ค.

 

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
34
35
36
37
38
39
import java.util.*;
import java.io.*;
 
public class Main {
    static int arr[][];
 
    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());
        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, (arr_1, arr_2) -> {
            if (arr_1[0== arr_2[0]) {
                return arr_1[1- arr_2[1];
            } else {
                return arr_1[0- arr_2[0];
            }
        });
.
        for (int i = 0; i < N; i++) {
            sb.append(arr[i][0+ " " + arr[i][1]).append('\n');
        }
 
       
        System.out.println(sb);
    }
}
 
cs

 

๋จผ์ € BufferedReader๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž์˜ ์ž…๋ ฅ์„ ๋ฐ›์•„์˜จ๋‹ค. ๊ทธ ๋‹ค์Œ StringBuilder๋ฅผ ์ƒ์„ฑํ•ด์ค€๋‹ค. ๋ฐ‘์— for๋ฌธ์—์„œ ์“ฐ์ผ ๊ฒƒ์ด๋‹ค.

 

๊ทธ ๋‹ค์Œ n์„ ์ž…๋ ฅ ๋ฐ›๊ณ  n์˜ ๊ฐ’์— ๋”ฐ๋ผ์„œ ์ด์ฐจ์› ๋ฐฐ์—ด์„ arr์„ ๋งŒ๋“ค์–ด ์ค€๋‹ค. ๊ทธ ๋‹ค์Œ N๋ฒˆ๋งŒํผ์˜ ๋ฐ˜๋ณต์„ ํ†ตํ•ด์„œ br์„ ํ†ตํ•ด ์ฝ์–ด๋“ค์ธ ๊ฐ’์„ StringTokenizer๋กœ ๋ถ„๋ฆฌํ•ด์„œ ๊ฐ๊ฐ์˜ ๊ฐ’๋“ค์„ ๋ฐฐ์—ด์— ์ €์žฅํ•œ๋‹ค. 

 

๊ทธ ๋‹ค์Œ Arrays.sort์˜ compare ๋ฉ”์†Œ๋“œ๋ฅผ ๋žŒ๋‹ค์‹์œผ๋กœ ๊ตฌํ˜„ํ•ด์ค€๋‹ค. ๋งŒ์•ฝ ๋‘ ๋ฐฐ์—ด์˜ x์›์†Œ(0)์ด ๊ฐ™์œผ๋ฉด (1

 

๊ทธ ๋‹ค์Œ sb์— ์ถ”๊ฐ€ํ•ด ๊ทธ๊ฒƒ์„ ์ถœ๋ ฅํ•œ๋‹ค