
😎풀이
nums
를 내림차 순 정렬
- 가장 큰 세 요소와, 가장 큰 요소 및 가장 작은 두 요소를 각각의 배열로 준비
2-1. slicedPos
: 가장 큰 세 요소
2-2. slicedNeg
: 가장 작은 두 요소 + 가장 큰 요소
- 각각의 배열 요소를 모두 곱함
- 더 큰 결괏값을 반환함
function maximumProduct(nums: number[]): number {
const sorted = nums.sort((a, b) => b - a)
const slicedPos = sorted.slice(0, 3)
const slicedNeg = [sorted[0], sorted.at(-1), sorted.at(-2)]
const multPos = slicedPos.reduce((acc, cur) => acc * cur, 1)
const multNeg = slicedNeg.reduce((acc, cur) => acc * cur, 1)
return Math.max(multPos, multNeg)
};