최근에는 이분 탐색을 많이 쓰지 않았다가 얼마 전 카카오 문제 중 순위 검색의 효율성을 해결하기 위해 다시 찾아봤다. 전에 C++ 로 알고리즘 짤 때는 algorithm 라이브러리에 lowerbound 함수가 있어서 그걸 사용했었는데 이젠 필요하면 직접 구현해야하니까 이 참에 개념을 확실히 정리해두는게 좋을 것 같다는 생각이 들었다. 이런게 또 정확히 기억 안나면 사소한 부분 때문에 헷갈린다,, 참고. Lower bound basics LowerBound 찾고자 하는 값 이상이 처음 나오는 위치(인덱스)를 찾는 알고리즘이다. func lowerBound(_ sortedArr: [Int], _ target: Int) -> Int { var start = 0 var end = scores.count whil..