[9급 국가직 컴퓨터일반 2026년 18번]

다음 파이썬 코드로 작성된 partition() 함수를 이용하여, 주어진 배열을 퀵 정렬(quick sort)로 오름차순 정렬하고자 한다. 정렬 과정에서 단계별 정렬 순서로 나타날 수 없는 것은? (단, 피벗(pivot)은 정렬하고자 하는 대상의 마지막 원소로 선택한다)
# 정렬하고자 하는 대상인 A[first]…A[last]를 
# 피벗(A[last]) 기준으로 분할하는 함수
def partition(A, first, last):
    p = A[last]
    low = first
    high = last
    while low < high:
        while p > A[low] and low < high: 
            low += 1
        while p <= A[high] and low < high: 
            high -= 1
        if low < high: 
            A[low], A[high] = A[high], A[low]
    A[low], A[last] = A[last], A[low]
    return low
배열
7
3
2
19
13
5
11
17
컴퓨터일반
  1. 2, 3, 5, 7, 13, 11, 17, 19
  2. 2, 3, 5, 11, 7, 13, 17, 19
  3. 2, 3, 5, 11, 13, 7, 17, 19
  4. 7, 3, 2, 11, 13, 5, 17, 19
정답 ②

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