본문 바로가기
개발/알고리즘

[codility] MaxProductOfThree

by ny0011 2021. 2. 19.
반응형

app.codility.com/programmers/lessons/6-sorting/max_product_of_three/

 

MaxProductOfThree coding task - Learn to Code - Codility

Maximize A[P] * A[Q] * A[R] for any triplet (P, Q, R).

app.codility.com

원소 3개를 뽑아서 곱했을 때 가장 큰 값을 출력

-> 음수*음수*양수/ 양수*양수*양수 두가지 경우가 있다

sorting을 한번 해주고

음수가 2개 이상일 때 음수*음수*양수 와 양수*양수*양수 중 큰 값이 답

나머지는 제일 큰 양수의 곱이 답

def solution(A):
    # write your code in Python 3.6
    a = sorted(A)
    if a[0] < 0 and a[1] < 0:
        return max(a[0]*a[1]*a[-1], a[-1]*a[-2]*a[-3])
    else:
        return a[-1]*a[-2]*a[-3]

'개발 > 알고리즘' 카테고리의 다른 글

[codility] Triangle  (0) 2021.02.19
[codility] NumberOfDiscIntersections  (0) 2021.02.19
[codility] Distinct  (0) 2021.02.19
[codility] PassingCars  (0) 2021.02.18
[codility] MinAvgTwoSlice  (0) 2021.02.18

댓글