https://www.acmicpc.net/problem/1337
๋ฌธ์
์ฌ๋ฐ๋ฅธ ๋ฐฐ์ด์ด๋ ์ด๋ค ๋ฐฐ์ด ์์ ์๋ ์์ ์ค 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;
}
/**/
'๐ฆ Chango > ๐ฃ EDOC' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[BOJ S4][C++] ๋ฐฑ์ค 2149๋ฒ: ์ํธ ํด๋ (0) | 2022.03.30 |
---|---|
[BOJ B1][C++] ๋ฐฑ์ค 15312๋ฒ: ์ด๋ฆ ๊ถํฉ (0) | 2022.03.30 |
[BOJ B2][C++] ๋ฐฑ์ค 9076๋ฒ : ์ ์ ์ง๊ณ (0) | 2022.03.23 |
[BOJ][C++] ๋ฐฑ์ค 14594๋ฒ : ๋๋ฐฉ ํ๋ก์ ํธ (Small) (0) | 2021.11.26 |
[BOJ][C++] ๋ฐฑ์ค 1717๋ฒ : ์งํฉ์ ํํ (0) | 2021.11.24 |