๊ธฐ๋ก๋ฐฉ

BOJ_1183 : ์•ฝ์† ๋ณธ๋ฌธ

CodingTest/Java

BOJ_1183 : ์•ฝ์†

Soom_1n 2023. 1. 9. 23:43

๐Ÿ‘‰ ๋ฌธ์ œ๋งํฌ

 

1183๋ฒˆ: ์•ฝ์†

๋งˆ๋ฒ•์‚ฌ N๋ช…์ด ๋จธ๊ธ€ ๋ฌธํ™”๋ฅผ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•ด ๋จธ๊ธ€๊ณผ ์•ฝ์†์„ ์žก์•˜๋‹ค. ๊ฐ ๋งˆ๋ฒ•์‚ฌ๋Š” ํ•œ ๋ช…์˜ ๋จธ๊ธ€์„ ๋งŒ๋‚  ์˜ˆ์ •์ด๋‹ค. ํ•˜์ง€๋งŒ, ๋งˆ๋ฒ•์‚ฌ๋Š” ์•ฝ์† ์‹œ๊ฐ„๋ณด๋‹ค ๋นจ๋ฆฌ ๋˜๋Š” ๋Šฆ๊ฒŒ ๋„์ฐฉํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ณ ๋ฏผ์— ๋น 

www.acmicpc.net



๐Ÿ”ธ ๋ฌธ์ œ ๋ถ„์„ ๐Ÿ”ธ

  • |Ai+T-Bi|์˜ ํ•ฉ์ด ์ตœ์†Œ๊ฐ€ ๋˜๋Š” T์˜ ๊ฐœ์ˆ˜๋ฅผ ๊ตฌํ•œ๋‹ค.
  • T๋Š” A-B ๋ฐฐ์—ด์„ ์ •๋ ฌํ•˜๊ณ  ๊ทธ ์ค‘์•™๊ฐ’์ด๋‹ค.
    • n์ด ํ™€์ˆ˜๋ฉด 1๊ฐœ๊ฐ€ ๋‚˜์˜จ๋‹ค.
    • n์ด ์ง์ˆ˜๋ฉด n/2 <= T <= n/2-1 ์œผ๋กœ ๊ทธ ์‚ฌ์ด์˜ ์ •์ˆ˜ ๊ฐ’๋“ค์ด๋‹ค.

๐Ÿ”ธ ์ฝ”๋“œ ๐Ÿ”ธ

import java.util.Arrays;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int[] arr = new int[n];

        for (int i = 0; i < n; i++) {
            arr[i] = sc.nextInt() - sc.nextInt();
        }

        Arrays.sort(arr);

        if (n % 2 != 0)
            System.out.println(1);
        else
            System.out.println(Math.abs(arr[n/2]-arr[n/2-1])+1);
    }
}

๐Ÿ”ธ ์ฝ”๋“œ ํ•ด์„ ๐Ÿ”ธ

  • A-B ๊ฐ’์„ arr ๋ฐฐ์—ด์— ์ €์žฅํ•˜๊ณ  ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ•œ๋‹ค.
  • n์ด ํ™€์ˆ˜๋ผ๋ฉด 1์„ ์ถœ๋ ฅํ•œ๋‹ค.
  • n์ด ์ง์ˆ˜๋ผ๋ฉด arr[n/2] ๊ฐ’ ๋ถ€ํ„ฐ arr[n/2-1] ๊ฐ’ ์‚ฌ์ด์˜ ๋ชจ๋“  ์ •์ˆ˜๊ฐ€ ์ค‘์•™๊ฐ’์ด๋‹ค.

๐Ÿ”ธ end ๐Ÿ”ธ

  • ๋ฌธ์ œ๋ฅผ ์ž˜ ์ดํ•ดํ•˜์ง€ ๋ชปํ–ˆ๋Š”๋ฐ ์˜ˆ์‹œ๋ฅผ ๊ทธ๋ž˜ํ”„๋กœ ๊ทธ๋ ค๋ณด๋ฉด ๊ทœ์น™์„ฑ์„ ์ฐพ์„ ์ˆ˜ ์žˆ๋‹ค๊ณ  ํ•œ๋‹ค.
  • ๋‚œ ์ž˜ ํŒŒ์•…ํ•˜์ง€ ๋ชปํ•ด์„œ ์ˆ˜ํ•™์  ํฌ์ŠคํŒ…๊ณผ ๊ทธ๋ž˜ํ”„ ํฌ์ŠคํŒ…์„ ์ฐพ์•„๋ณด์•˜๋‹ค.

728x90

'CodingTest > Java' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

BOJ_10974 : ๋ชจ๋“  ์ˆœ์—ด  (0) 2023.01.10
BOJ_1213 : ํŒฐ๋ฆฐ๋“œ๋กฌ ๋งŒ๋“ค๊ธฐ  (0) 2023.01.10
BOJ_1166 : ์„ ๋ฌผ  (0) 2023.01.06
BOJ_1072 : ๊ฒŒ์ž„  (0) 2023.01.04
BOJ_1063 : ํ‚น  (0) 2023.01.04