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

Kim Yongbin·2023년 8월 29일
0

코딩테스트

목록 보기
16/162

Problem

Solution

내 풀이

def solution(A,B):
    answer = 0
    
    a_list = sorted(A)
    b_list = sorted(B, reverse=True)
    
    for i in range(len(a_list)):
        answer += a_list[i] * b_list[i]

    return answer

곱의 합이 최솟값이 되기 위해서는 A의 최솟값, B의 최댓값의 곱의 합 혹은 그 반대가 되어야 한다.

다른 사람 풀이

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

zip을 사용하면 한줄로 깔끔하게 작성할 수 있다.

Reference

프로그래머스 코딩 테스트 연습

profile
반박 시 여러분의 말이 맞습니다.

0개의 댓글