코딩/공부

[Python] 백준 1026번 - 보물

취미니스트 2024. 4. 26. 16:09
728x90
반응형

문제

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


정수 하나 입력.

입력받은 정수만큼 숫자를 추가로 입력받아 리스트에 저장 (두 개의 리스트 생성).

두 리스트의 요소의 곱과 그들의 합이 최소가 되어야 하기 때문에 리스트 하나는 내림차순으로, 하나는 오름차순으로 정렬.

n = int(input())
a = sorted(list(map(int, input().split())), reverse=True)
b = sorted(list(map(int, input().split())))

 

두 리스트의 요소들의 곱과 합을 zip과 sum을 이용하여 계산.

print(sum([i*j for i, j in zip(a, b)]))

 

전체 코드.

n = int(input())
a = sorted(list(map(int, input().split())), reverse=True)
b = sorted(list(map(int, input().split())))
print(sum([i*j for i, j in zip(a, b)]))
728x90
반응형