배열의 값이 [1,2,3,4] 라고 가정할 때,
나올 수 있는 경우의 수는 i값이 증가할 수록 1씩 줄어든다
1,2 1,3 1,4 / 2,3 2,4 / 3,4 (마지막 4는 이미 앞에서 다 계산이 되서 범위에서 제외시킨다)
j의 초기값도 어쩌피 i를 통해 앞의 수들은 다 계산이 되기 때문에 i+1부터 시작한다.
범위를 정하는게 어려우니 소스코드 참고.
class Solution {
public int solution(int[] numbers) {
int max = Integer.MIN_VALUE;
int len = numbers.length;
for (int i = 0; i < len - 1; i++) {
for (int j = i + 1; j < len; j++) {
int product = numbers[i] * numbers[j];
if (product > max) {
max = product;
}
}
}
return max;
}
}