본문 바로가기
*Algorithm/Programmers_Level2

[programmers] 프로그래머스 Level2 최솟값 만들기(파이썬 Python)

by codinguser 2020. 11. 9.

프로그래머스
(주)그렙

 

[programmers] 프로그래머스 Level2 최솟값 만들기

(파이썬 Python)

 

* 문제출처 : 프로그래머스 코딩 테스트 연습, 알고리즘 문제

 

 

 

 

 

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


1) 문제

 

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

 

코딩테스트 연습 - 최솟값 만들기

길이가 같은 배열 A, B 두개가 있습니다. 각 배열은 자연수로 이루어져 있습니다. 배열 A, B에서 각각 한 개의 숫자를 뽑아 두 수를 곱합니다. 이러한 과정을 배열의 길이만큼 반복하며, 두 수를 곱

programmers.co.kr


2) 풀이 과정

 

 

핵심 : 최솟값의 합을 구하는 과정

 

How? A에 가장 큰값과 B의 가장 작은 값을 곱하여 더한다.

 

1. 규칙을 찾기 위해, 정렬을 해보자

ㄴ1) A = 오름차순, B 내림차순

[1,2,4] [5,4,4] = 5 + 8 + 16

[1,2] [4,3] = 10

 

: 정답(ㅇ)

 

 

ㄴ2) A = 내림차순, B 오름차순은?

 

"이때 최종적으로 누적된 값이 최소가 되도록 만드는 것이 목표입니다." 라는 지문에 위배

 

 

 

 


3) 코드

 

1
2
3
4
5
6
7
8
9
10
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

 

 

 


4) 정리 노트

 

X


댓글