๐Ÿ“ฆ Chango/๐Ÿฃ EDOC

[BOJ S4][C++] ๋ฐฑ์ค€ 1337๋ฒˆ: ์˜ฌ๋ฐ”๋ฅธ ๋ฐฐ์—ด

์„ ๋‹ฌ 2022. 3. 23. 18:24
๋ฐ˜์‘ํ˜•

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

 

1337๋ฒˆ: ์˜ฌ๋ฐ”๋ฅธ ๋ฐฐ์—ด

์ฒซ์งธ ์ค„์— ๋ฐฐ์—ด์˜ ํฌ๊ธฐ N์ด ์ฃผ์–ด์ง„๋‹ค. N์€ 50๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜์ด๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์— ๋ฐฐ์—ด์˜ ์›์†Œ๊ฐ€ ํ•œ ์ค„์— ํ•˜๋‚˜์”ฉ ์ฃผ์–ด์ง„๋‹ค. ์›์†Œ๋Š” 1,000,000,000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์Œ์ด ์•„๋‹Œ ์ •์ˆ˜์ด

www.acmicpc.net

 

๋ฌธ์ œ

์˜ฌ๋ฐ”๋ฅธ ๋ฐฐ์—ด์ด๋ž€ ์–ด๋–ค ๋ฐฐ์—ด ์†์— ์žˆ๋Š” ์›์†Œ ์ค‘ 5๊ฐœ๊ฐ€ ์—ฐ์†์ ์ธ ๊ฒƒ์„ ๋งํ•œ๋‹ค. (์—ฐ์†์ ์ธ ๊ฒƒ์ด๋ž€ 5๊ฐœ์˜ ์ˆ˜๋ฅผ ์ •๋ ฌํ–ˆ์„ ๋•Œ, ์ธ์ ‘ํ•œ ์ˆ˜์˜ ์ฐจ์ด๊ฐ€ 1์ธ ๊ฒƒ์„ ๋งํ•œ๋‹ค.)

์˜ˆ๋ฅผ ๋“ค์–ด ๋ฐฐ์—ด {6, 1, 9, 5, 7, 15, 8}์€ ์˜ฌ๋ฐ”๋ฅธ ๋ฐฐ์—ด์ด๋‹ค. ์™œ๋ƒํ•˜๋ฉด ์ด ๋ฐฐ์—ด ์†์˜ ์›์†Œ์ธ 5, 6, 7, 8, 9๊ฐ€ ์—ฐ์†์ด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

๋ฐฐ์—ด์ด ์ฃผ์–ด์ง€๋ฉด, ์ด ๋ฐฐ์—ด์ด ์˜ฌ๋ฐ”๋ฅธ ๋ฐฐ์—ด์ด ๋˜๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด์„œ ์ถ”๊ฐ€๋˜์–ด์•ผ ํ•  ์›์†Œ์˜ ๊ฐœ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

์ž…๋ ฅ

์ฒซ์งธ ์ค„์— ๋ฐฐ์—ด์˜ ํฌ๊ธฐ N์ด ์ฃผ์–ด์ง„๋‹ค. N์€ 50๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜์ด๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์— ๋ฐฐ์—ด์˜ ์›์†Œ๊ฐ€ ํ•œ ์ค„์— ํ•˜๋‚˜์”ฉ ์ฃผ์–ด์ง„๋‹ค. ์›์†Œ๋Š” 1,000,000,000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์Œ์ด ์•„๋‹Œ ์ •์ˆ˜์ด๋‹ค. ๋ฐฐ์—ด์— ์ค‘๋ณต๋˜๋Š” ์ˆ˜๋Š” ์—†๋‹ค.

์ถœ๋ ฅ

์ฒซ์งธ ์ค„์— ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง„ ๋ฐฐ์—ด์ด ์˜ฌ๋ฐ”๋ฅธ ๋ฐฐ์—ด์ด ๋˜๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด์„œ ์ถ”๊ฐ€๋˜์–ด์•ผํ•  ์›์†Œ์˜ ์ตœ์†Œ ๊ฐœ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

 

ํ’€์ด

์ž…๋ ฅ ๊ฐ’๋“ค์„ ๋ฐฐ์—ด์— ๋„ฃ์–ด๋†“๊ณ 

๊ฐ’๋“ค ์‚ฌ์ด์— ์žˆ์–ด์•ผํ•˜๋Š” ์ˆ˜์˜ ๊ฐฏ์ˆ˜๋ฅผ ๋‹ต์— ๋”ํ•ด์ค€๋‹ค

๋™์‹œ์— ์ˆ˜์˜ ๊ฐฏ์ˆ˜๋“ค์„ ์นด์šดํŠธํ•ด์„œ 5๊ฐœ๊ฐ€ ๋˜๋ฉด stop

 

๊ทธ๋ ‡๊ฒŒ ์ข…๋ฅ˜๋ณ„๋กœ ๋‚˜์˜จ ๋‹ต๋“ค ์ค‘ ์ตœ์†Ÿ๊ฐ’์„ ๊ณจ๋ผ ์ถœ๋ ฅ

์ด๋•Œ, ๋งŒ์•ฝ ์ตœ์†Ÿ๊ฐ’์ด 4๋ณด๋‹ค ํฌ๋‹ค๋ฉด ๊ทธ๋ƒฅ 4๊ฐ€ ์ถœ๋ ฅ๋˜๋„๋ก ์„ค์ •ํ•˜์˜€๋‹ค.

 

// Authored by : seondal
// ํ’€์ด : https://whkakrkr.tistory.com/
// Co-authored by : -

//#include <bits/stdc++.h>
#include <iostream>
#include <algorithm>
#include <vector>

using namespace std;

int main() {
    vector<int> v;
    vector<int> sub;
    int n;
    cin >> n;
    while(n--) {
        int tmp;
        cin >> tmp;
        v.push_back(tmp);
    }
    
    sort(v.begin(), v.end());
    
    int ans = 4;
    for(int i=0; i<v.size()-1; i++) {
        int tmp = 0, cnt = 1;
        for(int j=i; j<v.size()-1; j++){
            if(cnt == 5) {
                ans = min(ans, tmp);
                break;
            }
            int cha = v[j+1] - v[j] - 1;
            tmp += cha;
            cnt += cha + 1;
        }
        if(cnt < 5) {
            tmp += 5 - cnt;
            ans = min(ans, tmp);
        }
    }
    
    cout << ans;
    
    return 0;
}
    
/**/

 

ํ’€์ด2

์กฐ์›๋“ค๊ณผ ํ† ๋ก ํ•˜๋‹ค๊ฐ€ ์•Œ๊ฒŒ๋œ ์‚ฌ์‹ค..

๊ตณ์ด ๊ทธ ์ฐจ๋ฅผ ๊ตฌํ•ด์„œ ๊ณ„์‚ฐํ•ด์ฃผ๊ณ  ์žˆ์„ ํ•„์š”๊ฐ€ ์—†์—ˆ๋‹ค ใ… ใ… 

 

๊ทธ๋ƒฅ ๊ทธ ์—ฐ์†๋œ ์ˆ˜์˜ ๋ฒ”์œ„ ์•ˆ์— ๋“ค์–ด์˜ค๋Š”์ง€ ์ฒดํฌ๋งŒ ํ•˜๊ณ 

๊ทธ ๊ฐฏ์ˆ˜๋ฅผ ์„ธ์–ด์„œ ๋‹ต์„ ๊ตฌํ•ด์ฃผ๋Š”๊ฒŒ ํ›จ์”ฌ ๋น ๋ฅด๊ณ  ๊ฐ„๋‹จํ–ˆ๋‹ค

 

// Authored by : seondal
// ํ’€์ด : https://whkakrkr.tistory.com/
// Co-authored by : -

//#include <bits/stdc++.h>
#include <iostream>
#include <algorithm>
#include <vector>

using namespace std;

int main() {
    vector<int> v;
    vector<int> sub;
    int n;
    cin >> n;
    while(n--) {
        int tmp;
        cin >> tmp;
        v.push_back(tmp);
    }
    
    sort(v.begin(), v.end());
    
    int ans = 0;
    for(int i=0; i<v.size(); i++){
        int cnt = 0;
        for(int j=1; j<5 && i+j<v.size(); j++)
            if(v[i]+5 > v[i+j]) cnt++;
        ans = max(ans, cnt);
    }
    
    cout << 4 - ans;
    
    return 0;
}
    
/**/
๋ฐ˜์‘ํ˜•