package codility.num6;
import java.util.Arrays;
public class Triplet {
public int solution(int[] A) {
// write your code in Java SE 8
Arrays.sort(A);
// 1. 셋 다 양수 또는 음수일 경우, 뒤에서부터 3개 곱해주는게 best case
int answer = A[A.length -1] * A[A.length -2] * A[A.length -3];
// 2. 맨 앞 두 수가 음수이고, 나머지 하나가 양수일 경우
// 맨 앞 두 수 * 맨 뒤 숫자
int answer2 = A[0] * A[1] * A[A.length -1];
// 두 값 중 큰 값 리턴
return Math.max(answer,answer2);
}
public static void main(String[] args) {
int[] A = {-3, 1, 2, -2, 5, 6};
Triplet t = new Triplet();
System.out.println(t.solution(A));
}
}
728x90
반응형
'Algorithm > Codility' 카테고리의 다른 글
Codility - Distinct (0) | 2022.04.13 |
---|---|
Stack - Fish (0) | 2022.03.26 |
Lesson7 - Brackets (0) | 2022.03.22 |
Lesson2. OddCurrencesInArray (0) | 2022.03.09 |
Lesson2. CyclicRotation (0) | 2022.03.08 |