[인프런 워밍업 클럽 2기 CS] 특별 미션
회사에서 야근 이슈로 참여하지 못했던 중간 점검을 만회할 수 있는 기회를 주시다니 감사합니다🥰 특별 미션) 실수로 워밍업 클럽 출석을 빼먹었는데 우연히 데이터를 수정할 수 있는 권한이 주어졌습니다. 러너분의 이름(name)과 출석수(count)가 저장된 배열에서 여러분(나)의 데이터를 퀵정렬을 이용해 오름차순 정렬하고 가장 첫 번째 데이터인 여러분의 출석수를 변경하도록 코드를 작성해주세요. (퀵정렬 구현 부분도 변경)function quickSort (arr, left, right) { if (left < right) { let index = divide(arr, left, right); quickSort(arr, left, index - 1); quickSort(arr, index + 1, right); } } function divide(arr, left, right) { let rightCnt= arr[right].count; let leftIndex = left - 1; for (let i = left; i < right; i++) { if (arr[i].count <= rightCnt) { leftIndex++; [arr[leftIndex], arr[i]] = [arr[i], arr[leftIndex]]; } } [arr[leftIndex + 1], arr[right]] = [arr[right], arr[leftIndex + 1]]; return leftIndex + 1; } let user1 = { name: "홍길동", count: 5 }; let user2 = { name: "임꺽정", count: 4 }; let user3 = { name: "이순신", count: 3 }; let user4 = { name: "나", count: 1 }; let user5 = { name: "짱구", count: 5 }; let arr = [user1, user2, user3, user4, user5] console.log("===== 정렬 전 ====="); console.log(arr); quickSort(arr, 0, arr.length - 1); arr[0].count = 5 console.log("===== 정렬 후 ====="); console.log(arr); [예상 결과] ===== 정렬 전 ===== [ { name: '홍길동', count: 5 }, { name: '임꺽정', count: 4 }, { name: '이순신', count: 3 }, { name: '나', count: 1 }, { name: '짱구', count: 5 } ] ===== 정렬 후 ===== [ { name: '나', count: 5 }, { name: '이순신', count: 3 }, { name: '임꺽정', count: 4 }, { name: '홍길동', count: 5 }, { name: '짱구', count: 5 } ]