본문 바로가기
프로그래머스/Python

[프로그래머스] 최솟값 만들기 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트

by 우당탕탕 개발자 2023. 7. 3.
728x90
반응형

 

 

프로그래머스

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

programmers.co.kr

 

1. 문제 설명

2. 풀이과정

어떤 두 수의 곱의 누적합이 최소가 되려면 각각 최소와 최대를 서로 곱하고 그 값을 더해주면 된다.

 

  1. 입력받은 매개변수 A 배열은 오름차순으로 정렬하고 A.sort()
  2. 입력받은 매개변수 B 배열은 내림차순으로 정렬합니다. B.sort()  B.reverse()
  3. 두 배열의 길이는 동일하므로 배열 A의 길이만큼 덧셈을 반복한다. for i in range(len(A))
  4. 각 배열의 동일한 위치에 있는 원소끼리 곱하여 누적합에 더해준다. answer += A[i] * B[i]
반응형

3. 소스코드

def solution(A,B):
    answer = 0

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

    return answer
728x90
반응형