๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
  • ์žฅ์›์ต ๊ธฐ์ˆ ๋ธ”๋กœ๊ทธ
๐Ÿ’ป Computer Science/- Data Structure, Algorithm

[์•Œ๊ณ ๋ฆฌ์ฆ˜-PS] ๋ฐฑ์ค€ 1263 ์‹œ๊ฐ„ ๊ด€๋ฆฌ ์ž๋ฐ” ๋ฌธ์ œํ’€์ด

by Wonit 2021. 7. 20.

๋ฌธ์ œ

ํ•ด๋‹น ํฌ์ŠคํŒ…์€ ๋ฐฑ์ค€์˜ 1263 ์‹œ๊ฐ„ ๊ด€๋ฆฌ ์˜ ์ ‘๊ทผ๊ณผ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•œ ๊ธ€ ์ž…๋‹ˆ๋‹ค.
์ •๋‹ต ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ํ™•์ธํ•˜์‹œ๋ ค๋ฉด solve url ์—์„œ ํ™•์ธ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

 

์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ ์ ‘๊ทผํ•ด์•ผ ํ•˜๋Š”์ง€๋ฅผ ๋จผ์ € ์ƒ๊ฐํ•ด๋ณด์ž.

 

๋ฌธ์ œ ์ ‘๊ทผ

 

์ด๋ฒˆ ๋ฌธ์ œ๋Š” ๊ฐ„๋‹จํ•œ ๊ทธ๋ฆฌ๋””์™€ ์ •๋ ฌ์„ ์ด์šฉํ•œ๋‹ค๋ฉด ์‰ฝ๊ฒŒ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐœ๋…์„ ๋ฌป๋Š” ๋ฌธ์ œ์ธ ๊ฒƒ ๊ฐ™๋‹ค

 

ํ•ด๊ฒฐ๋ฒ•

 

์ด๋Ÿฌํ•œ ์ž…๋ ฅ์ด ๋“ค์–ด์˜ค๊ณ  ๊ฐ€์žฅ ๋Šฆ๊ฒŒ ์ผ์–ด๋‚  ์ˆ˜ ์žˆ๋Š” ์‹œ๊ฐ„์€ ๋ชจ๋“  ๊ณผ์ œ๊ฐ€ ๋งˆ์ง€๋ง‰์œผ๋กœ ๋๋‚˜๋Š” ์‹œ๊ฐ„์„ ๊ธฐ์ค€์œผ๋กœ ํ•˜๋‚˜์”ฉ ๊ณผ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋ฉด ๋œ๋‹ค

์ •๋‹ต ์ฝ”๋“œ

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

        int n = Integer.parseInt(br.readLine());

        int[][] arr = new int[n][2];

        for (int i = 0; i < n; i++) {

            String[] ts = br.readLine().split(" ");

            arr[i][0] = Integer.parseInt(ts[0]);
            arr[i][1] = Integer.parseInt(ts[1]);
        }

        Arrays.sort(arr, (a1, a2) -> a2[1] - a1[1]);

        int endTime = arr[0][1] - arr[0][0];

        for (int i = 1; i < arr.length; i++) {
            if(arr[i][1] < endTime) {
                endTime = arr[i][1];
            }
            endTime = endTime - arr[i][0];
        }

        if(endTime > 0) {
            bw.write(String.valueOf(endTime));
        }else {
            bw.write(String.valueOf(-1));
        }

        bw.flush();
        bw.close();
    }
}

์ •๋‹ต ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ํ™•์ธํ•˜์‹œ๋ ค๋ฉด solve url ์—์„œ ํ™•์ธ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

๋Œ“๊ธ€