반응형
https://leetcode.com/problems/maximum-product-of-three-numbers/description/
정렬 문제였습니다.
📕 풀이방법
📔 입력 및 초기화
내림차순으로 nums를 정렬해줍니다.
📔 풀이과정
정렬된 nums = {6, 5, 4, -1, -2} 로 생각해보면 음수 2개의 곱은 양수이므로 두 경우를 비교해 큰 수를 반환해야 합니다.
max(6 * 5 * 4, 6 * -1 * -2)
📔 정답 출력 | 반환
max(가장 큰 * 두 번째 큰 * 세 번째 큰 수끼리의 곱, 가장 큰 * 가장 작은 * 두 번째로 작은 수끼리의 곱)을 반환합니다.
📕 Code
📔 C++
class Solution {
public:
int maximumProduct(vector<int>& nums) {
sort(nums.rbegin(), nums.rend());
int nSize = nums.size();
return max(nums[0] * nums[1] * nums[2], nums[0] * nums[nSize-1] * nums[nSize-2]);
}
};
*더 나은 내용을 위한 지적, 조언은 언제나 환영합니다.
'Algorithm > Sorting' 카테고리의 다른 글
(C++) - LeetCode (easy) 1051. Height Checker (0) | 2023.10.23 |
---|---|
(C++, Rust) - LeetCode (easy) 977. Squares of a Sorted Array (0) | 2023.09.15 |
(C++) - LeetCode (easy) 561. Array Partition (0) | 2023.04.21 |
(C++) - LeetCode (easy) 953. Verifying an Alien Dictionary (0) | 2023.02.02 |
(C++) - LeetCode (easy) 88. Merge Sorted Array (0) | 2022.11.13 |