[7급 국가직 자료구조론 2022년 13번]

다음 C 코드는 이진 탐색을 이용하여 정수 데이터를 탐색하는 함수이다. (가), (나)에 들어갈 내용을 바르게 연결한 것은? (단, key는 찾고자 하는 값, a[]는 오름차순으로 정렬된 정수 배열, n은 배열의 크기이다)
int search(int key, int a[], int n) {
    int mid;
    int left = 0;
    int right = n-1;
    while ((가)) {
        mid = (right + left) / 2;
        if (key == a[mid]) return mid;
        if ((나)) right = mid - 1;
        else left = mid + 1;
    }
    return -1;
}
(가) (나)
자료구조론
  1. ①left < right key < a[mid]
  2. ②left < right key > a[mid]
  3. ③left <= right key < a[mid]
  4. ④left <= right key > a[mid]

선지를 골라 바로 채점해 보세요.

정답 ③

출처: 인사혁신처 공개 기출(공공데이터포털, 이용허락 제한 없음)

신고가 접수됐습니다. 감사합니다.

오류 신고