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뒤에 꼭 써야 결과가 나온던데..

 

왜 그런지는 알겠는데 저 방법 말곤 없나??

 

아니면 다른 방식으로 구현할 수 없나..?!?!?!

 

 

 

반응형