[프로그래머스] 최솟값 만들기 (Level 2, 정렬)

Soorim Yoon·2022년 10월 31일
0
post-custom-banner

문제

최솟값 만들기

  • A, B 두 개의 배열이 주어질 때 A와 B 배열에서 각각 하나의 요소를 뽑아 곱한 후, answer 변수에 누적해서 더한 값이 최소가 되는 answer 값을 구하라
  • 단, 한 번 선택되어 곱해진 숫자는 다시 선택될 수 없다.

아이디어

  • A 배열의 최솟값과 B 배열의 최댓값을 차례로 선택해 곱하고, 해당 값을 answer 변수에 더해줘야 한다고 생각했다.
  • 따라서 A 배열은 오름차순으로, B 배열은 내림차순으로 정렬한 후 각 배열의 동일한 인덱스 번호를 가지는 요소의 곱을 더하였다.

코드

  • 정렬을 사용하여 작성한 코드는 다음과 같다.
def solution(A,B):
    answer = 0

    A.sort()
    B.sort(reverse = True)
    
    for i in range(len(A)):
        answer += A[i]*B[i]
    
    return answer

실행 결과

profile
👩🏻‍💻 AI를 좋아하는 IT학부생
post-custom-banner

0개의 댓글