반갑습니다!

[프로그래머스] 최솟값 만들기 본문

알고리즘 문제 풀이

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

김덜덜이 2020. 4. 8. 22:51
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr

풀이

직관적으로 생각해보면 A 배열은 오름차순으로 정렬하고, B 배열은 내림차순으로 정렬한 뒤 계산하면 쉽게 답을 구할 수 있다.

코드

#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.rbegin(), B.rend());
    for(int i=0; i<A.size(); i++)
        answer += (A[i] * B[i]);
    return answer;
}