1026번: 보물
첫째 줄에 N이 주어진다. 둘째 줄에는 A에 있는 N개의 수가 순서대로 주어지고, 셋째 줄에는 B에 있는 수가 순서대로 주어진다. N은 50보다 작거나 같은 자연수이고, A와 B의 각 원소는 100보다 작거
www.acmicpc.net
>>
B를 새로 정렬하면 안된다고는 하지만 결국 합만 출력하면 되기 때문에
A와B 둘 중 하나는 오름차순, 하나는 내림차순으로 정렬한 다음, 같은 인덱스끼리 곱하여 더하면 합의 최소값을 구할 수 있다.
>>
A를 내림차순으로 정렬하기위해 reversed(A)로 정렬해본 결과,
리스트로 사용하기 위해서는 list(reversed(A)) 리스트로 다시 변환해줘야 했다.
N = int(input())
A = list(map(int, input().split()))
B = list(map(int, input().split()))
A = sorted(A,reverse=True)
B = sorted(B)
S = 0
for i in range(N):
S+=A[i]*B[i]
print(S)
반응형
'Python > Beakjoon' 카테고리의 다른 글
5543: 상근날드 (0) | 2021.08.07 |
---|---|
2953번: 나는 요리사다 (0) | 2021.08.07 |
6603번 : 로또 (0) | 2021.08.07 |
1010번: 다리놓기 (0) | 2021.08.06 |
3052번: 나머지 (0) | 2021.08.04 |