정수 배열 numbers
가 매개변수로 주어집니다. numbers
의 원소 중 두 개를 곱해 만들 수 있는 최댓값을 return하도록 solution 함수를 완성해주세요.
numbers
의 원소 ≤ 10,000numbers
의 길이 ≤ 100numbers | result |
---|---|
[1, 2, -3, 4, -5] | 15 |
[0, -31, 24, 10, 1, 9] | 240 |
[10, 20, 30, 5, 5, 20, 5] | 600 |
내 코드
import itertools
import math
def solution(numbers):
answer = 0
mul_comb = [math.prod(comb) for comb in itertools.combinations(numbers,2)]
answer = max(mul_comb)
return answer
우선 2개의 곱을 구할 수 있는 경우의 수를 모두 구하기 위해 combination
을 활용했다.
그리고 python 3.8 부터는 math 모듈로부터 ,
두 수를 곱해서 return 해주는 prod
메소드를 지원받을 수 있다.