[Toy] largestProductOfThree

George·2022년 4월 13일
0

문제

목록 보기
6/14
post-thumbnail

08_largestProductOfThree


문제 🙋


정수를 요소로 갖는 배열을 입력받아 3개의 요소를 곱해 나올 수 있는 최대값을 리턴해야 합니다.

입력 🔜


인자 1 : arr

  • number 타입을 요소로 갖는 임의의 배열

출력 🔚


  • number 타입을 리턴해야 합니다.

주의사항 ⚠️


  • 입력으로 주어진 배열은 중첩되지 않은 1차원 배열입니다.
  • 배열의 요소는 음수와 0을 포함하는 정수입니다.
  • 배열의 길이는 3 이상입니다.

입출력 예시 ⌨️


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)

Pseudo Code ✍️


 1. arr을 오름차순 정렬
 2. arr배열 뒤에서 33. arr앞에서 두개 뒤에서 하나를 계산(음수 두개를 곱할 시 양수가 되기 때문)
 4. math.max로 비교 후 더 높게나온 값을 출력한다

Code 💻


const largestProductOfThree = function (arr) {
  // TODO: 여기에 코드를 작성합니다.
  let n =arr.length
  arr.sort((a,b) => a-b);
  let plusResult = arr[n -1]*arr[n-2]*arr[n-3]
  let minusResult = arr[0]*arr[1]*arr[n-1]
  return Math.max(plusResult, minusResult)
}

키워드 🔑

0개의 댓글

관련 채용 정보