CT/프로그래머스

[프로그래머스][Lv. 2][Python] 최솟값 만들기

hyunji1109 2023. 6. 18. 20:25

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

✔ 문제 설명
길이가 같은 배열 A, B 두개가 있습니다. 각 배열은 자연수로 이루어져 있습니다.
배열 A, B에서 각각 한 개의 숫자를 뽑아 두 수를 곱합니다. 이러한 과정을 배열의 길이만큼 반복하며, 두 수를 곱한 값을 누적하여 더합니다. 이때 최종적으로 누적된 값이 최소가 되도록 만드는 것이 목표입니다.


  1.  A배열에서 가장 큰수와 B배열에서 가장 작은 수를 곱하면 누적된 값이 최소가 된다.
  2. sort를 사용하여 A는 오름차수, B는 내림차수로 정렬한 뒤, 차례로 곱한다.

 

1
2
3
4
5
6
7
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
cs