[프로그래머스/Python] lv2 : 최솟값 만들기

문제

https://school.programmers.co.kr/learn/courses/30/lessons/12941

풀이

A 배열을 기준으로 A배열의 최댓값과 B배열의 최솟값을 곱한 값을 순차적으로 누적해주면 해를 구할 수 있다.


def solution(A,B):
    rst = 0
    A.sort()
    B.sort(reverse=True)

    while A:
        rst += A.pop() * B.pop()

    return rst

처음에는 단순하게 이중 루프문을 활용하여 모든 경우의 수를 구해주었는데, 시간 초과가 발생하였다. 따라서, 어떤 경우에 누적합이 최소값이 되는지에 집중하여 문제를 풀었다.