이진탐색 lower bound, upper bound
알고리즘 문제 풀이 중 이진탐색 lower bound, upper bound를 사용해야되는 경우가 발생했다. 이론은 알고 있지만 이를 코드로 구현하는 것에 어려움을 겪어 아직 이해가 부족하다고 생각해서 글로 정리하게 되었다. lower bound 정렬된 데이터에서 처음으로 해당 값 이상이 되는 인덱스를 찾는 것이다. def find_lower_bound(number): start = 0 end = n while start < end: mid = (start + end) // 2 if cards[mid] >= number: end = mid else: start = mid + 1 return start 여기서 기존 이진 탐색과 end의 의미가 다른 것을 알아야된다....