[코플릿]largestProductOfThree

수민·2022년 12월 15일
0

코플릿

목록 보기
11/11

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


const largestProductOfThree = function (arr) {
  const sorted = arr.slice().sort((a, b) => a - b); 
  // 배열을 오름차순으로 정렬해 새로운 변수에 담아준다
  const len = arr.length;
  // 배열의 길이를 len 변수에 담아준다
  const candi1 = sorted[len - 1] * sorted[len - 2] * sorted[len - 3];
  // 배열의 길이는 최소 3개 이상이므로, 뒤에서부터 3개의 요소를 먼저 곱해준다 (가장 큰 세 개의 숫자를 곱함)
  const candi2 = sorted[len - 1] * sorted[0] * sorted[1];
  // 앞에서부터 2개와 마지막 요소를 곱해준다 (음수이면 두 개를 곱해서 양수로 만들어주려고)
  return Math.max(candi1, candi2);
  // 두 가지 후보 중 큰 쪽을 리턴한다.
};
profile
헬창목표

0개의 댓글