알고리즘 공부(C++)

1026 보물

혀니리리 2022. 8. 13. 17:56
728x90

1026번: 보물 (acmicpc.net)

 

1026번: 보물

첫째 줄에 N이 주어진다. 둘째 줄에는 A에 있는 N개의 수가 순서대로 주어지고, 셋째 줄에는 B에 있는 수가 순서대로 주어진다. N은 50보다 작거나 같은 자연수이고, A와 B의 각 원소는 100보다 작거

www.acmicpc.net

N = int(input())
A = list(map(int, input().split()))
B = list(map(int, input().split()))
S = 0
A.sort()
B.sort(reverse = True)
for i in range(N):
    S += A[i] * B[i]
print(S)

꽤나 간단했던 이번 문제

A와 B의 배열을 재정렬해서 그 곱과 합을 최소로 하는 문제였다.

그나마 애를 먹었던 것을 여러 값을 한번에 넣을때

A = list(map(int, input().split())) 이런식으로 해야한다는 것과

오름차순, 내림차순 정렬을 각각

A.sort()

B.sort(reverse = True) 이런식으로 해야한다는 것을 기억하자.

728x90

'알고리즘 공부(C++)' 카테고리의 다른 글

9012 괄호  (0) 2022.08.16
17478 재귀함수가 뭔가요?  (0) 2022.08.14
1476 날짜 계산  (0) 2022.08.12
1436 영화감독 숌  (0) 2022.08.11
1966 프린터 큐  (0) 2022.08.10