이진 탐색 문제만 만나면 매번 실수한다.이번엔 확실히 정리한다. 이진 탐색은 sorting되어있는 리스트에서 특정 값을 찾는 함수다.시간 효율성은 O(logn) 수준이다. 리스트에 중복된 값이 있을 때, 중복된 수 중 처음 값의 인덱스 혹은 마지막 값의 인덱스를 찾는다.각각의 방식을 lower binary search와 upper binary search로 부른다. *lower binary search *upper binary search 찾는 과정은 리스트의 처음과 끝을 기준으로 계속해서 내가 찾는 값이 있는 범위를 좁혀 나가는 것 이다.예를 들어서 upper binary search를 이용해서 위 그림과 같이 5라는 수가 나오는 마지막 index를 구한다. 사용 변수: left, ri