다음은 배열 A에 저장된 n개의 정수를 오름차순으로 정렬하는 삽입 정렬(insertion sort) 알고리즘이다. ㉠과 ㉡에 순서대로 들어갈 내용으로 옳은 것은?
void sort(int A[ ], int n)
{
int i, j, key;
for (i = 1; i < n; i++) {
key = A[i];
for (j = i – 1; ㉠ ; j--)
㉡
A[j+1] = key;
}
} ㉠ ㉡
- ①j >= 0 && key > A[j] A[j+1] = A[j];
- ②j > 0 && key >= A[j] A[j-1] = A[j];
- ③j > 0 && key < A[j] A[j] = A[j+1];
- ④j >= 0 && key < A[j] A[j+1] = A[j];
선지를 골라 바로 채점해 보세요.
정답 ④
출처: 인사혁신처 공개 기출(공공데이터포털, 이용허락 제한 없음)