구현해보기def binary_search(element, some_list):
front = 0
back = len(some_list) - 1
while front <= back:📌
middle = (front + back) // 2
if some_list[middle] == element:
return middle
elif element < some_list[middle]:
back = middle - 1📌
elif some_list[middle] < element:
front = middle + 1📌
return None
print(binary_search(2, [2, 3, 5, 7, 11]))
print(binary_search(0, [2, 3, 5, 7, 11]))
print(binary_search(5, [2, 3, 5, 7, 11]))
print(binary_search(3, [2, 3, 5, 7, 11]))
print(binary_search(11, [2, 3, 5, 7, 11]))
- 📌📌📌막혔던 부분
- 미들인덱스의 값이
element
와 일치 하지 않을 경우 middle
값 에서 +1과 -1을 사용해서 범위조정를 조정을 해 주어야 하는데 middle
값으로 대체를 해버려서 풀이가 꼬여 버렸다.