[프로그래머스] 최솟값 만들기 | C++
Algorithm/문제풀이
2023. 2. 18. 03:33
문제
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
두 배열의 성분끼리 곱한 값들을 더하여 만든 총합 중 최솟값을 구하는 문제이다.
나의 풀이 전략
A 행렬은 오름차순 정렬,
B 행렬은 내림차순 정렬한다.
상세
1. 위 풀이 전략을 그대로 실행한다.
더보기
sort(A.begin(), A.end()); // 오름차순 정렬
sort(B.rbegin(), B.rend()); // 내림차순 정렬
2. 정답을 구한다.
더보기
for(int i = 0; i < A.size(); ++i)
{
answer += A[i]*B[i];
}
전체 소스코드
#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;
}
'Algorithm > 문제풀이' 카테고리의 다른 글
[프로그래머스] 카펫 | C++ (0) | 2023.04.14 |
---|---|
[백준] 토마토 | 7569 | C++ (0) | 2023.03.07 |
[프로그래머스] 연속 부분 수열 합의 개수 | C++ (0) | 2023.01.14 |
[프로그래머스] 가장 큰 수 | C++ (0) | 2023.01.12 |
[프로그래머스] 모음사전 | C++ (0) | 2023.01.12 |