[문제 링크]

https://leetcode.com/problems/maximum-product-of-two-elements-in-an-array/description/

 

[문제 사고]

오늘의 문제는 매우 쉬웠다.

배열 내의 가장 큰 두 수를 뽑아내어 1씩 뺀 다음 곱하는 매우 간단한 문제였다.

 

[풀이과정]

1. 배열을 내림차순으로 정렬하는 과정에서 sort method를 사용했다.
2. 내림차순 배열 내에서 첫번째, 두번째 인덱스의 요소를 뽑아낸다.
3. 각 요소 값에서 1씩 빼서 곱하는 연산 작업을 처리한 후 반환한다.

 

[회고]

처음에는 정답을 담는 변수 answer을 선언한 후 그 변수를 return하는 코드를 작성하였는데 런타임과 메모리 효율을 고려하여 정답에 해당하는 값을 바로 return 하는 방식으로 변경하였다.

 

[제출한 코드]

/**
 * @param {number[]} nums
 * @return {number}
 */
var maxProduct = function(nums) {
    const arr = nums.sort((a,b) => b-a);
    return (arr[0]-1) * (arr[1]-1);
};

+ Recent posts