더북(TheBook)

두 번째 해결책 배열을 정렬한 후 i번째와 i+1번째 인덱스의 값을 서로 바꿔 파형을 생성합니다.

해결책 1-6-2

void WaveArray(int arr[], int size)
{
    quickSort(arr, size);
    /* 배열의 인접 원소끼리 바꾸기 */
    for (int i = 0 ; i < size - 1; i+= 2) {
        swap(arr, i, i + 1);
    }
}

분석 시간 복잡도는 O(nlogn)입니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.