프로그래머스 : 최솟값 만들기

JangGwon·2022년 7월 25일
0

문제설명

.

두배열의 원소들을 각각 하나씩 곱한 값들을 합친 값이 가장 적은 경우를 찾는 문제이다.
나는 큰수 * 작은수 연산을 해야 가장 적은 값이 나오는 것을 이용해 한 배열은 오름차순으로 정렬, 나머지 한개는 내림차순으로 정렬한 뒤 서로 곱해줬다.

코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include<vector>
#include<algorithm>
 
using namespace std;
 
int solution(vector<int> A, vector<int> B)                                                                                                            
{
    int answer = 0;
    sort(A.begin(),A.end());
    sort(B.begin(),B.end(),greater<int>());
    
    for (int i = 0; i < A.size(); i++)
    {
        answer += A[i] * B[i];
    }
    return answer;
}
cs

0개의 댓글