Algorithm/백준

항해99 리부트코스 알고리즘 2주 3일차 백준 1026 보물

Albosa2lol 2024. 7. 26. 12:42

https://www.acmicpc.net/problem/1026

 

 

풀이

 

 

  • 배열 A와 배열 B를 세팅
  • 배열 A는 오름차순으로 정렬하고, 배열 B는 내림차순으로 정렬
  • 배열 A와 배열 B의 요소를 순서대로 곱하여 그 합을 구한다

 

import sys
input = sys.stdin.read

# 입력 받기
data = input().split()
n = int(data[0])
A = list(map(int, data[1:n+1]))
B = list(map(int, data[n+1:2*n+1]))

def minimum_sum(A, B):
    # A는 오름차순으로 정렬
    A.sort()
    # B는 내림차순으로 정렬
    B.sort(reverse=True)

    # 두 배열의 요소를 곱한 후 합산
    result = sum(a * b for a, b in zip(A, B))
    return result

# 결과 출력
print(minimum_sum(A, B))