v.begin 0이고 v.end는 존재하지 않는 위치
three upper_bound > index 4
three lower_bound > index 2
4 - 2 = 2 (3은 2개)
four upper_bound > index 4
four lower_bound > index 4
4 - 4 = 0 (4는 0개)
six upper_bound > index 7
six lower_bound > index 4
7 - 4 = 3 (6은 3개)
여러번을 탐색하기 때문에 이진탐색으로 o(logN) 으로 풀기
c++의 upper_bound lower_bound 개념과 비슷함