#include <iostream> #include <vector> #include <algorithm> using namespace std; int solution(vector<int> A, vector<int> B) { int visitedA[1000] = {0}; int visitedB[1000] = {0}; // 오름차순 정렬 sort(A.begin(), A.end()); // 내림차순 정렬 sort(B.begin(), B.end(), greater<int>()); int sum = 0; for(int i = 0; i < A.size(); i++) { for(int j = i; j < B.size(); j++) { if(visitedA[i] == 0 && visitedB[j] == 0) { visitedA[i] = 1; visitedB[j] = 1; sum += A[i] * B[j]; break; } } } return sum; } | cs |
'Programmers > Level 2' 카테고리의 다른 글
[프로그래머스 2] 행렬의 곱셈 (C/C++) (1) | 2019.10.28 |
---|---|
[프로그래머스 2] 피보나치 수 (C/C++) (0) | 2019.10.28 |
[프로그래머스 2] 최댓값과 최솟값 (C/C++) (0) | 2019.10.28 |
[프로그래머스 2] 카카오 프렌즈 컬러링북 (C/C++) (1) | 2019.10.26 |
[프로그래머스 2] 땅따먹기 (C/C++) (0) | 2019.10.25 |