C언어/문제풀다 하나씩
binary search 구현
mcdn
2020. 5. 23. 12:03
반응형

#include <iostream>
#include <string>
using namespace std;
int binse[10] = { 4,4,5,7,8,10,20,22,23,24 };
int ans = 100;
int bin_search(int start, int end, int target) {
if (start > end) return 1;
int mid = (start + end) / 2;
if (binse[mid] == target) {
ans = 0;
return 0;
}
else if (binse[mid] > target) {
bin_search(start, mid - 1, target);
}
else {
bin_search(mid + 1, end, target);
}
return ans;
}
int main() {
int n;
cin >> n;
int ret = bin_search(0,9,n);
if (ret == 0) {
cout << "O";
}
else
cout << "X";
return 0;
}
.. 궁금한 건 return ans뒤에 꼭 써야 결과가 나온던데..
왜 그런지는 알겠는데 저 방법 말곤 없나??
아니면 다른 방식으로 구현할 수 없나..?!?!?!
반응형