정수 배열 numbers
가 매개변수로 주어집니다. numbers
의 원소 중 두 개를 곱해 만들 수 있는
최댓값을 return 하도록 solution 함수를 완성해주세요.
numbers | result |
---|---|
[1, 2, 3, 4, 5] | 20 |
[0, 31, 24, 10, 1, 9] | 744 |
function solution(numbers) {
const max = Math.max(...numbers);
numbers.splice(numbers.indexOf(max), 1);
return max * Math.max(...numbers);
}
전달받은 배열 numbers
의 첫번째 max를 Math.max()
메서드로 뽑아내고
numbers
에 splice()
메서드를 이용해 뽑아낸 max를 찾아 삭제한다.
그 후 max값과 다시 생성된 배열의 최대값을 Math.max()
메서드를 사용해 뽑아서 곱한뒤 return한다.
function solution(numbers) {
let [a, b] = numbers.sort((a,b) => b - a);
return a * b;
}
전달받은 배열 numbers
를 sort((a, b => b - a))
메서드를 통해 배열을 내림차순으로 정렬하고
구조분해로 정렬된 배열의 앞 2개의 숫자를 곱해서 return 한다.
생각을 좀 더 신중히 하고 간결하고 가독성이 좋은 코드를 생각 해냅시다..