문제 |
정수를 요소로 갖는 배열을 입력받아 3개의 요소를 곱해 나올 수 있는 최대값을 리턴해야 합니다. |
입력 |
인자 1 : arr |
number 타입을 요소로 갖는 임의의 배열 |
출력 |
number 타입을 리턴해야 합니다. |
주의 사항 |
입력으로 주어진 배열은 중첩되지 않은 1차원 배열입니다. 배열의 요소는 음수와 0을 포함하는 정수입니다. 배열의 길이는 3 이상입니다. |
코드
function largestProductOfThree(arr) {
// 배열을 오름차순으로 정렬합니다.
arr.sort((a, b) => a - b);
// 가장 큰 수 세 개의 곱과 가장 작은 수 두 개와 가장 큰 수 한 개의 곱을 비교합니다.
const product1 = arr[arr.length - 1] * arr[arr.length - 2] * arr[arr.length - 3];
const product2 = arr[0] * arr[1] * arr[arr.length - 1];
return Math.max(product1, product2);
}
- 3개의 요소를 곱해 나올 수 있는 최대값을 만드는 방법은 가장 작은 수와 가장 큰 수들을 곱해주는 것이다.
'Coplit' 카테고리의 다른 글
[ Coplit ] - 23_bubbleSort 문제 풀이 (0) | 2023.04.22 |
---|---|
[ Coplit ] - 22_fibonacci 문제 풀이 (0) | 2023.04.21 |
[ Coplit ] - 20_ compressString 문제 풀이 (0) | 2023.04.08 |
[ Coplit ] - 19_ decryptCaesarCipher 문제 풀이 (0) | 2023.04.04 |
[ Coplit ] - 18_ numberSearch 문제 풀이 (0) | 2023.04.04 |