프로그래머스 - 최대값 구하기(2)

dobyming·2022년 12월 22일
0

Q. 최대값 구하기(2)

문제 설명

정수 배열 numbers가 매개변수로 주어집니다. numbers의 원소 중 두 개를 곱해 만들 수 있는 최댓값을 return하도록 solution 함수를 완성해주세요.

제한사항

  • 10,000 ≤ numbers의 원소 ≤ 10,000
  • 2 ≤ numbers 의 길이 ≤ 100

입출력 예

numbersresult
[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
메소드를 지원받을 수 있다.

prod

  • Syntax
    math.prod(iterable, start)
  • Return
    주어진 iterable(순환 가능한 모든 자료구조)의 곱을 return 해준다.

0개의 댓글