본문 바로가기
Engineering WIKI/Programmers

[프로그래머스] 최솟값 만들기

by wonos 2022. 5. 17.
 

코딩테스트 연습 - 최솟값 만들기

길이가 같은 배열 A, B 두개가 있습니다. 각 배열은 자연수로 이루어져 있습니다. 배열 A, B에서 각각 한 개의 숫자를 뽑아 두 수를 곱합니다. 이러한 과정을 배열의 길이만큼 반복하며, 두 수를 곱

programmers.co.kr

내풀이

def solution(A,B):
    answer = 0
    A = sorted(A)
    B = sorted(B, reverse=True)
    for i,j in zip(A, B):
        answer += i * j

    return answer

다른방법 1

def getMinSum(A,B):
    return sum(a*b for a, b in zip(sorted(A), sorted(B, reverse = True)))

#아래 코드는 출력을 위한 테스트 코드입니다.

print(getMinSum([1,2],[3,4]))

다른방법 2

def getMinSum(A,B):
    return sum(map(lambda a,b : a*b, sorted(A), sorted(B, reverse=True)))

#아래 코드는 출력을 위한 테스트 코드입니다.

print(getMinSum([1,2],[3,4]))