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

자세한 설명은 링크 참고

길이가 같은 두 리스트의 요소 한개씩을 뽑아 두 수를 곱한 수를 모두 더한다. 이때 가장 최솟값이 되는 방법을 찾는 문제이다.

큰수를 작은수와 곱하게 되면 가장 작은 수가 나온다고 생각했다. 그래서 한개의 리스트는 내림차순으로, 한개의 리스트는 오름차순으로 정렬한 후 각각을 곱해주었다.

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

아이디어는 떠오를 때 너무 기분이 좋은 것 같다.
결과는

좋은 웹페이지 즐겨찾기