[Python] 백준 / silver / 1026번 (보물)

김상우·2021년 10월 2일
0
post-custom-banner

문제 링크 : https://www.acmicpc.net/problem/1026

그리디 알고리즘 문제이다.
S = A[0]×B[0] + ... + A[N-1]×B[N-1]
S의 값을 최소로 해야하므로, B 순서 고정한 것과 상관없이,
A의 최솟값과 B의 최댓값을 곱한 결과들을 더하면 된다.

정답 코드

import sys
N = int(input())
A = list(map(int, sys.stdin.readline().split()))
B = list(map(int, sys.stdin.readline().split()))

A.sort()
B.sort(reverse=True)

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

print(answer)
profile
안녕하세요, iOS 와 알고리즘에 대한 글을 씁니다.

0개의 댓글