개발/알고리즘
[codility] MaxProductOfThree
ny0011
2021. 2. 19. 12:00
반응형
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]