정수 배열 numbers가 매개변수로 주어집니다. numbers의 원소 중 두 개를 곱해 만들 수 있는 최댓값을 return하도록 solution 함수를 완성해주세요.
- -10,000 ≤ numbers의 원소 ≤ 10,000
- 2 ≤ numbers 의 길이 ≤ 100
numbers result [1, 2, -3, 4, -5] 15 [0, -31, 24, 10, 1, 9] 240 [10, 20, 30, 5, 5, 20, 5] 600
function solution(numbers) {
const sortArr = numbers.sort((a,b)=>a-b)
const value1 = sortArr.slice(0,2).reduce((acc,cur)=>{return acc*cur},1)
const value2 = sortArr.slice(-2).reduce((acc,cur)=>{return acc*cur},1)
return value1 > value2 ? value1 : value2
}
처음엔 reduce로 풀었는데 고작 2개 곱하는데
너무 투머치한거 같아서 생각해보니 이게 더 간단한거 같다
function solution(numbers) {
const sortArr = numbers.sort((a,b)=>a-b)
const value1 = sortArr[0] * sortArr[1];
const value2 = sortArr[sortArr.length-2] * sortArr[sortArr.length-1]
return value1 > value2 ? value1 : value2
}