
😎풀이
nums
오름차 순 정렬
smallHalf
로 절반의 인덱스 기준 작은 수들의 집합 정의
largeHalf
로 절반의 인덱스 기준 큰 수들의 집합 정의
pointer
를 정의하여 각 인덱스에
- 각 포인터에 작고 큰 배열 요소를 교차하며 선언
function wiggleSort(nums: number[]): void {
nums.sort((a, b) => a - b)
const n = nums.length
const mid = Math.floor((n - 1) / 2)
const smallHalf = nums.slice(0, mid + 1)
const largeHalf = nums.slice(mid + 1)
let i = smallHalf.length - 1
let j = largeHalf.length - 1
let pointer = 0
while(i >= 0 || j >= 0) {
if(i >= 0) nums[pointer++] = smallHalf[i--]
if(j >= 0) nums[pointer++] = largeHalf[j--]
}
};