다음 파이썬 코드는 이진 탐색을 이용하여 자연수 데이터를 탐색하는 함수이다. (가), (나)에 들어갈 내용을 바르게 연결한 것은? (단, ds는 오름차순으로 정렬된 중복 없는 자연수 리스트이고, key는 찾고자 하는 값이다)
def binary(ds, key):
low = 0
high = len(ds) - 1
while low <= high:
mid = (low+high) // 2
if key == ds[mid]:
return mid
elif key < ds[mid]:
(가)
else:
(나)
return (가) (나)
- ①high = mid - 1 low = mid - 1
- ②high = mid - 1 low = mid + 1
- ③high = mid + 1 low = mid - 1
- ④high = mid + 1 low = mid + 1
선지를 골라 바로 채점해 보세요.
정답 ②
출처: 인사혁신처 공개 기출(공공데이터포털, 이용허락 제한 없음)