모두CBT

다음 파이썬 프로그램의 실행 결과는?def search(arr, tar… | [7급 국가직 알고리즘] 26년 1회차 기출문제 상세 페이지

1[7급 국가직 알고리즘] 26년 1회차
다음 파이썬 프로그램의 실행 결과는?
def search(arr, target):
low, high = 0, len(arr) - 1
while low <= high:
mid = (low + high) // 2
if arr[mid] == target: return mid
elif arr[mid] < target: low = mid + 1
else: high = mid - 1
return -1

if __name__ == "__main__":
a = [2, 5, 8, 12, 16, 23, 38, 56, 91]
print(search(a, 23))
1
-1
2
4
3
5
4
6
해설

프로그램은 23이 저장된 인덱스인 5를 출력한다.

이진 탐색 추적(배열 인덱스 0~8):
low=0, high=8 → mid=4, a[4]=16 < 23 → low=5
low=5, high=8 → mid=6, a[6]=38 > 23 → high=5
low=5, high=5 → mid=5, a[5]=23 → 반환

23은 배열에 존재하므로 -1이 출력되지 않고, 탐색 결과 인덱스 5가 출력된다.

오류나 개정된 내용이 보이면 알려주세요

이어서 풀어보기

[7급 국가직 알고리즘] 26년 1회차 25문항 이어서 보기문제·정답·해설을 한 페이지에서 이어서 볼 수 있어요7급 국가직 알고리즘 기출문제 암기장 전체 보기