'Algorithm'에 해당되는 글 23건

A non-empty array A consisting of N integers is given. The product of triplet (P, Q, R) equates to A[P] * A[Q] * A[R] (0 ≤ P < Q < R < N).

For example, array A such that:

A[0] = -3 A[1] = 1 A[2] = 2 A[3] = -2 A[4] = 5 A[5] = 6

contains the following example triplets:

  • (0, 1, 2), product is −3 * 1 * 2 = −6
  • (1, 2, 4), product is 1 * 2 * 5 = 10
  • (2, 4, 5), product is 2 * 5 * 6 = 60

Your goal is to find the maximal product of any triplet.

Write a function:

class Solution { public int solution(int[] A); }

that, given a non-empty array A, returns the value of the maximal product of any triplet.

 

먼저 sorting 후, 최대값을 가질 수 있는 두 경우만을 생각하면 된다.

import java.util.*;

// you can write to stdout for debugging purposes, e.g.
// System.out.println("this is a debug message");

class Solution {
    public int solution(int[] A) {
        
        int tmp = 0;
        int maxThree = 0;
        
        Arrays.sort(A);
        
        maxThree = A[A.length-1] * A[A.length-2] * A[A.length-3];
        
        if((A[1] < 0) && (A[A.length-1] > 0)){
            tmp = A[0] * A[1] * A[A.length-1];
            if(maxThree < tmp){
                maxThree = tmp;
            }
        }
        
        return maxThree;
    }
}

'Algorithm' 카테고리의 다른 글

[Codility] Triangle  (0) 2019.06.16
[Codility] Distinct  (0) 2019.06.16
[Codility] CountDiv  (0) 2019.06.14
[Codility] MinAvgTwoSlice  (0) 2019.06.11
[Codility] GenomicRangeQuery  (0) 2019.06.02
블로그 이미지

Denken_Y

coding 블로그

,