Leetcode Java Maximum Product of Two Elements in an Array
업데이트:
문제
코드
class Solution {
public int maxProduct(int[] nums) {
int[] max = new int[] { Integer.MIN_VALUE, Integer.MIN_VALUE };
for (int num : nums) {
if (num > max[0]) {
max[1] = max[0];
max[0] = num;
} else if (num > max[1]) {
max[1] = num;
}
}
return (max[0] - 1) * (max[1] - 1);
}
}
결과
설명
-
nums 내 가장 큰 두 값을 이용하여 각 값에서 1을 빼고 곱한 결과를 구하는 문제이다.
-
max는 가장 큰 두 값을 저장하기 위한 변수로, 두 값을 저장해야하므로 2 크기의 정수 배열에 정수의 가장 작은 값을 넣어 초기화한다.
-
nums의 모든 값을 반복하여 max에 가장 큰 두 값을 찾아 넣어준다.
-
가장 큰 두 값을 이용하여 $(max[0] - 1) \times (max[1] - 1)$를 주어진 문제의 결과로 반환한다.
소스
Sample Code는 여기에서 확인 가능합니다.
댓글남기기