let output = largestProductOfThree([2, 1, 3, 7]);
console.log(output); // --> 42 (= 2 * 3 * 7)
output = largestProductOfThree([-1, 2, -5, 7]);
console.log(output); // --> 35 (= -1 * -5 * 7)
const largestProductOfThree = function (arr) {
// 입력: 정수를 요소로 갖는 배열 -> 3개의 요소를 곱해 나올 수 있는 최대값 리턴
const sorted = arr.slice().sort((a,b) => a-b) // 오름차순 정렬
const len = arr.length // 배열의 길이를 변수에 저장
// 음수가 있는 경우와 없는 경우로 나눔
// 음수가 없는 경우 -> 오름차순 정렬 후 가장 뒤에 3개 요소의 곱
const result1 = sorted[len-1] * sorted[len-2] * sorted[len-3]
// 음수가 있는 경우 -> 첫번째 요소(-) * 두번째 요소(-) * 마지막 요소(+)
const result2 = sorted[len-1] * sorted[0] * sorted[1]
// 두 결과 중 가장 큰 값을 return
return Math.max(result1,result2);
};
기본값은 해당 숫자의 앞자리 수의 크기에 따라 정렬된다 ! ex> [11, 2, 3, 32, ... ]
➡️ 오름 차순으로 정렬하려면 ?
arr.sort((a, b) => a - b)) // 오름차순
arr.sort((a, b) => b - a)) // 내림차순