Toy Problem 풀기 — binarySearch

문제 설명:
Given a sorted array, find the index of an element
using a binary search algorithm.
주어진 정렬된 배열에서, 요소의 index를 찾아라. binary search 알고리즘을 사용하라.
우선 예시를 생각해보자. [1, 2, 3, 4, 5]라는 배열에서 4라는 요소를 찾을경우, 정답은 4의 index인 3을 반환해야 한다. 이때 이진 탐색을 활용하면 된다.

첫번째 시도에서 배열의 중간값을 검색하고, index를 찾았으면 바로 종료. 하지만 값이 일치하지 않는다면 계속해서 배열을 쪼개면서 탐색하면 된다.
배열에서 4의 index를 찾아보도록 하자. 2번째 줄에서 배열의 중간값을 가질 guess를 변수로 지정하였고, min과 max 변수를 통해 배열의 탐색 범위를 좁혀가면서 탐색하도록 하겠다.
4번째 줄에 while문을 선언하였다. min과 max는 각각 배열의 탐색을 위한 index들을 의미하고, min은 배열의 처음, 그리고 max는 끝이다. min과 max를 조절해가면서 배열을 탐색하고 min이 max보다 커질경우 while문을 종료하겠다. 5번째 줄에서 guess 변수의 값을 지정하여 우선 배열의 중간부분부터 탐색을 시작한다.
guess값이 target과 일치한다면, 바로 이 값을 반환한다.
최종 결과물이다. target값이 guess값보다 클 경우, min의 값을 guess보다 1크게 하여 재조정한다.
반대로 target값이 guess보다 작을경우, max 변수의 값을 guess보다 1작게 하여 전체 배열의 탐색 범위를 조절한다.
14번째 줄에, 탐색이 완료되었는데도 값을 못찾을 경우 -1를 반환하도록 한다.
