1. ์ ๋ ฌ๋ ๋ฐฐ์ด์์ ํน์ ์์ ๊ฐ์ ๊ตฌํ๊ธฐ
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int n, num, x;
vector<int> v;
int solution(int x) {
int low = lower_bound(v.begin(), v.end(), x) - v.begin(); //iter ๋ฐํ - ์ฃผ์ = ํด๋น idx
int upper = upper_bound(v.begin(), v.end(), x) - v.begin();
return upper - low;
}
int main() {
cin >> n >> x;
for(int i = 0; i < n; i++){
cin >> num;
v.push_back(num);
}
sort(v.begin(), v.end());
int result = solution(x); //2์ ๊ฐ์ ๊ฒ ๋ช๊ฐ์ธ์ง ๊ตฌํ๊ธฐ
if(result == 0){
cout << -1;
} else{
cout << result;
}
return 0;
}
2. ๊ณ ์ ์ ์ฐพ๊ธฐ
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int n;
vector<int> v;
int binarySearch(int start, int end) {
if (start > end)
return -1;
int mid = (start + end) / 2;
if (v[mid] == mid)
return mid;
else if (v[mid] > mid) {
return binarySearch(start, mid - 1);
} else {
return binarySearch(mid + 1, end);
}
}
int main() {
cin >> n;
v.resize(n);
for (int &i: v) {
cin >> i;
}
sort(v.begin(), v.end());
int idx = binarySearch(0, n - 1);
cout << idx;
return 0;
}
3. ๊ณต์ ๊ธฐ ์ค์น
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int n, c, num;
int main() {
cin >> n >> c;
vector<int> v;
for (int i = 0; i < n; i++) {
cin >> num;
v.push_back(num);
}
sort(v.begin(), v.end());
//start, end : ์ต์, ์ต๋ ๊ฑฐ๋ฆฌ
//mid : ์์ดํ์ด์ ์ง ๊ฐ ๊ฐ๊ฒฉ
int start = 1;
int end = v[n - 1] - v[0];
int result = 0;
while (start <= end) {
int mid = (start + end) / 2;
//๋ชจ๋ ์ง์ ๋๋ฉด์ ์ฒซ๋ฒ์งธ ์ง๊ณผ์ ๊ฑฐ๋ฆฌ์ mid ๋น๊ต
int pre_house = v[0]; //์ค์น
int cnt = 1;
for (int i = 1; i < n; i++) {
if (v[i] - pre_house >= mid) {
cnt++;
pre_house = v[i]; //์ค์นํ์ผ๋ ๋ฐ๊ฟ์ฃผ๊ธฐ
}
}
// C๊ฐ ์ด์์ ๊ณต์ ๊ธฐ๋ฅผ ์ค์นํ ์ ์๋ ๊ฒฝ์ฐ, ๊ฑฐ๋ฆฌ๋ฅผ ์ฆ๊ฐ์ํค๊ธฐ
if (cnt >= c) {
result = mid;
start = mid + 1;
} else { // C๊ฐ ์ด์์ ๊ณต์ ๊ธฐ๋ฅผ ์ค์นํ ์ ์๋ ๊ฒฝ์ฐ, ๊ฑฐ๋ฆฌ๋ฅผ ๊ฐ์์ํค๊ธฐ
end = mid - 1;
}
}
cout << result;
return 0;
}
'โ๏ธAlgorithm > ๐ ์ด์ทจ์ฝ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์ด์ทจ์ฝ] ์ ํ๋ณ ์๊ณ ๋ฆฌ์ฆ - ์ต๋จ ๊ฒฝ๋ก(C++) (0) | 2022.11.05 |
---|---|
[์ด์ทจ์ฝ] ์ ํ๋ณ ์๊ณ ๋ฆฌ์ฆ - DFS/BFS(C++) (0) | 2022.11.05 |
[์ด์ทจ์ฝ] ์ ํ๋ณ ์๊ณ ๋ฆฌ์ฆ - ๊ตฌํ(C++) (0) | 2022.11.03 |
[์ด์ทจ์ฝ] ์ ํ๋ณ ๊ธฐ์ถ - ๊ทธ๋ฆฌ๋ ๋ฌธ์ (c++) (0) | 2022.11.02 |
[์ด์ทจ์ฝ] 10. ๊ทธ๋ํ ์ด๋ก - C++ (0) | 2022.10.22 |