ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [BaekJoon] 2230๋ฒˆ ์ˆ˜๊ณ ๋ฅด๊ธฐ
    SW Test/BaekJoon 2021. 8. 22. 20:52
    ๋ฐ˜์‘ํ˜•
    • ์ด ๊ธ€์€ C++๋กœ ํ’€์ด๋ฅผ ์ž‘์„ฑํ•˜์˜€์Šต๋‹ˆ๋‹ค.

    ๋ฌธ์ œ

    ์˜ˆ์‹œ

     

    ํ’€์ด

    • ๋‹ค์Œ ๋ฌธ์ œ๋Š” ์ด๋ถ„ํƒ์ƒ‰์œผ๋กœ๋„ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•ด๋‹น ์ˆ˜์—ด์„ ์ •๋ ฌ ํ›„ ์ฒ˜์Œ ์ธ๋ฑ์Šค๋ถ€ํ„ฐ ๋๊นŒ์ง€ ํƒ์ƒ‰์„ ํ•˜๋˜ ํ•ด๋‹น ์ธ๋ฑ์Šค์˜ ๊ฐ’๋ณด๋‹ค M์ด ํฐ ๊ฐ’์„ ์ด๋ถ„ํƒ์ƒ‰์„ ํ•˜์—ฌ ์‚ฝ์ž…ํ•  ์ธ๋ฑ์Šค๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฆ‰, ์ •๋ ฌ์„ ๋ฌด๋„ˆ๋œจ๋ฆฌ์ง€ ์•Š๊ณ  ํ•ด๋‹น ๊ฐ’์„ ์ถ”๊ฐ€ํ•  ์ธ๋ฑ์Šค(lower_bound)๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
    • ํ•˜์ง€๋งŒ, ํˆฌ ํฌ์ธํ„ฐ ๋ผ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•ด์„œ ํ’€์ด๋ฅผ ํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ์—์„œ ํˆฌ ํฌ์ธํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ •๋ ฌํ•  ๋•Œ O(NlogN)๊ณผ ์ˆ˜๋ฅผ ๊ณ ๋ฅด๋Š” ๋ฐฉ๋ฒ• O(N)์œผ๋กœ ์‹œ๊ฐ„๋ณต์žก๋„๋Š” O(NlogN)์ด ๋ฉ๋‹ˆ๋‹ค.
    #include<iostream>
    #include<vector>
    #include<algorithm>
    using namespace std;
    
    int main(){
        int arr[100000];
        int n,m;
        cin>>n>>m;
    
        for(int i=0;i<n;i++){
            cin>>arr[i];
        }
        sort(arr, arr+n);
    
        int result = 2000000000;
        int s = 0;
        int e = 0;
        while(s!=n && e!=n){
            if(arr[e] - arr[s]>=m){
                result = min(result, arr[e]-arr[s]);
                s++;
            }else{
                e++;
            }
        }
    
        cout<<result;
    }
    • ์ถ”๊ฐ€๋กœ ๊ถ๊ธˆํ•œ ์ ์ด๋‚˜ ์ˆ˜์ •ํ•  ๋ถ€๋ถ„ ์žˆ์œผ๋ฉด ๋Œ“๊ธ€๋กœ ๋‚จ๊ฒจ์ฃผ์„ธ์š”.
    ๋ฐ˜์‘ํ˜•
Designed by Tistory.