Lv2. 최댓값과 최솟값

Hello·2022년 8월 7일
0

코딩테스트 연습 > 최댓값과 최솟값

1. 풀이 설명

  1. 두 배열에서 숫자를 하나씩 골라 두 수를 곱한 값의 누적 합이 최솟값을 갖도록 구하는 문제다.

  2. 한 배열의 최솟값과 다른 배열의 최댓값을 차례로 계산한다.

2. 나의 풀이

python

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    

3. 배운점

  • 두 배열의 곱한 값의 누적 합의 최솟값은 각 배열의 최솟값 최댓값을 곱해주어 구할 수 있다.

python

  1. 한 줄 코드: sum(), zip()
def solution(A,B):
    return sum(a*b for a, b in zip(sorted(A), sorted(B, reverse=True)))
profile
안녕하세요 :)

0개의 댓글