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

김멉덥·2023년 9월 4일
0

알고리즘 공부

목록 보기
104/171
post-thumbnail
post-custom-banner

문제

프로그래머스 연습문제


코드 구현

def solution(A, B):
    answer = 0

    A.sort()
    B.sort(reverse=True)
    # B에서 제일 큰 수가 A에서 제일 작은 수와 곱해지는 경우가 최적의 최솟값을 구하게 된다

    for i in range(len(A)):
        answer += A[i] * B[i]

    return answer

풀이

  • 최솟값을 위해서는 B에서 제일 큰 수가 A에서 제일 작은 수와 곱해져야한다.
  • 따라서 오름차순, 내림차순으로 정렬한 뒤 → 하나씩 뽑아서 곱한 값을 더해주는 것이 최적의 해

profile
데굴데굴 뚝딱뚝딱 개발기록

0개의 댓글