크기가 16인 다음 배열 E에 정수가 저장되어 있다.
i | [0] | [1] | [2] | [3] | [4] | [5] | [6] | [7] | [8] | [9] | [10] | [11] | [12] | [13] | [14] | [15] |
E[i] | 3 | 5 | 6 | 8 | 10 | 13 | 15 | 16 | 17 | 21 | 23 | 26 | 27 | 29 | 31 | 33 |
C언어로 표현된 함수 func를 이용하여 정수 K가 저장된 위치를 검색하려고 한다. func(E, 0, 15, 27)를 호출했을 때, 검색이 완료되기까지 ㉠ 문장이 수행되는 횟수는?
int func(int E[ ], int first, int last, int K)
{
int mid;
if (last < first) return –1;
else {
㉠ mid = (first + last) / 2;
if (K == E[mid]) return mid;
else if (K < E[mid]) return func(E, first, mid-1, K);
else return func(E, mid+1, last, K);
}
}- ①1회
- ②2회
- ③3회
- ④4회
선지를 골라 바로 채점해 보세요.
정답 ④
출처: 인사혁신처 공개 기출(공공데이터포털, 이용허락 제한 없음)