[BOJ] 2230. ์ˆ˜ ๊ณ ๋ฅด๊ธฐ (๐Ÿฅ‡, ํˆฌ ํฌ์ธํ„ฐ)

lemythe423ยท2024๋…„ 2์›” 12์ผ
0

BOJ ๋ฌธ์ œํ’€์ด

๋ชฉ๋ก ๋ณด๊ธฐ
109/133
post-thumbnail

๐Ÿ”—

ํ’€์ด

์ˆ˜์—ด์„ ์ •๋ ฌํ–ˆ์„ ๋•Œ ๋‘ ์ˆ˜ ์‚ฌ์ด์˜ ๊ฐ„๊ฒฉ์ด M ์ด์ƒ์ด๋ผ๋ฉด ๊ตฌํ•  ์ˆ˜ ์žˆ๋Š” ์ฐจ์ด ๊ฐ’์„ ์—…๋ฐ์ดํŠธ ํ•œ๋‹ค. ์ด๋•Œ ์™ผ์ชฝ์— ์žˆ๋Š” ์ˆ˜ A ๋ผ๊ณ  ํ–ˆ์„ ๋•Œ ์ด์ œ B ๋’ค์— ์žˆ๋Š” ์ˆ˜๋“ค์€ ์ฐจ์ด ๊ฐ’์ด ํ˜„์žฌ ๊ตฌํ•œ B - A ๋ผ๋Š” ์ฐจ์ด ๊ฐ’ ์ด์ƒ์ด ๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋” ์ด์ƒ ๊ตฌํ•˜๋Š” ์˜๋ฏธ๊ฐ€ ์—†๋‹ค. ์ด๋•Œ๋Š” ์ด์ œ A ์˜ ๊ฐ’์„ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ํ•œ ์นธ ์ด๋™์‹œํ‚จ๋‹ค. ์ด๋ ‡๊ฒŒ ๋˜๋ฉด ์ด์ œ ์˜ฎ๊ฒจ์ง„ A' ๋ผ๋Š” ๊ฐ’๊ณผ B ์˜ ์ƒˆ๋กœ์šด ์ฐจ์ด๋ฅผ ๊ตฌํ•˜๊ฒŒ ๋˜๋Š”๋ฐ ์ด ์ฐจ์ด๋Š” A์˜ ๊ฐ’์ด ์ฆ๊ฐ€ํ–ˆ์„ ๊ฒƒ์ด๋ฏ€๋กœ ์ด์ „์— ๊ตฌํ•œ B - A ๋ณด๋‹ค ๋” ์ž‘์€ ์ฐจ์ด๊ฐ€ ๋  ์ˆ˜ ์žˆ๋‹ค. ์ด๋•Œ ์ด ๊ฐ’์ด M ์ด์ƒ์ด๋ฉด ๋‹ค์‹œ ์—…๋ฐ์ดํŠธ๋ฅผ ํ•œ๋‹ค.

๋งŒ์•ฝ B - A ๊ฐ€ M ๋ณด๋‹ค ์ž‘์€ ๊ฐ’์ด๋ผ๋ฉด ์‚ฌ์ด์˜ ์ฐจ์ด๋ฅผ ํฌ๊ฒŒ ํ•ด์•ผ ํ•˜๋ฏ€๋กœ ์ด๋•Œ๋Š” B ์˜ ๊ฐ’์„ ์ฆ๊ฐ€์‹œํ‚จ๋‹ค.

  1. ๋‘ ์ˆ˜ ์‚ฌ์ด์˜ ์ฐจ์ด๊ฐ€ M ๋ณด๋‹ค ํฌ๋‹ค๋ฉด A ๋ฅผ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ํ•œ ์นธ ์ด๋™
    1-1. ์ด๋•Œ ๋‘ ์ˆ˜ ์‚ฌ์ด์˜ ์ฐจ์ด๋Š” ๊ฐ€์žฅ ์ž‘์€ ๊ฐ’์œผ๋กœ ์—…๋ฐ์ดํŠธ
  2. ๋‘ ์ˆ˜ ์‚ฌ์ด์˜ ์ฐจ์ด๊ฐ€ M ๋ณด๋‹ค ์ž‘๋‹ค๋ฉด B ๋ฅผ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ํ•œ ์นธ ์ด๋™

1, 2 ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•œ๋‹ค.

import java.util.*;
import java.io.*;

public class Main {
    public static void main(String args[]) {
        Scanner sc = new Scanner(System.in);
        int N = sc.nextInt();
        long M = sc.nextLong();
        
        long[] sequence = new long[N];
        for (int i = 0; i < N; i++) {
            sequence[i] = sc.nextLong();
        }

        int left = 0;
        int right = 0;
        Arrays.sort(sequence);
        long minGap = Long.MAX_VALUE;
        while (left <= right && right < N) {
            System.out.println(left + " " + right);
            long gap = sequence[right] - sequence[left];
            if (gap < M) {
                right++;
                continue;
            }
            
            minGap = Math.min(minGap, gap);
            left++;
        }
        System.out.println(minGap);
    }
}
profile
์•„๋ฌด๋ง์ด๋‚˜ํ•˜๊ธฐ

0๊ฐœ์˜ ๋Œ“๊ธ€