JiSoo's Devlog

[백준 / 파이썬] 1026번 보물 본문

코테준비

[백준 / 파이썬] 1026번 보물

지숭숭숭 2024. 1. 28. 11:45

n = int(input())

al = list(map(int, input().split()))
bl = list(map(int, input().split()))

c = 0
for i in range(n):
    c += min(al) * max(bl)
    al.pop(al.index(min(al)))
    bl.pop(bl.index(max(bl)))
    
print(c)

 

배열 A와 B의 원소를 각각 곱한 값의 합의 최솟값을 구해야 된다

B는 재배열 X

A배열에서 제일 작은 수와 B배열에서 제일 큰 수를 곱하고 이런 식으로 계속 반복해 더하기

두 배열에서 해당 값을 각각 곱해주고 pop으로 빼주고를 반복

 

n = int(input())

al = list(map(int, input().split()))
bl = list(map(int, input().split()))

sa = sorted(al, reverse=True)
sb = sorted(bl)

c = 0
for i in range(n):
    c += sa[i] * sb[i]
print(c)

원래 B배열은 재배열하면 안 되지만 저렇게 작성해도 정답으로 인정은 된다

 

 

728x90