-
[Algorithm] 프로그래머스 최솟값 만들기 - C++쾌락없는 책임 (공부)/알고리즘 문제풀이 2022. 2. 23. 22:50반응형
#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()); int len = A.size(); for(unsigned i = 0; i < len; i++){ answer = answer + (A[i] * B[len-i-1]); } return answer; }
무슨 문제일까 하고 들여다 봤는데 생각보다 쉬워서 놀랐습니다. 두 배열을 정렬한 뒤 (한 배열에서 큰 값 x 다른 배열에서 작은 값)을 곱해주면 되는 것이었습니다. 혹시 큰 차이가 있을까봐 다른 풀이를 봤는데 대부분은 비슷했고 곱셈을 행렬 곱셈처럼 처리하는 방식이 있었습니다. (대신 성능상 큰 차이는 없는듯)
반응형'쾌락없는 책임 (공부) > 알고리즘 문제풀이' 카테고리의 다른 글
[Algorithm] 프로그래머스 배달 - C++, 다익스트라 (0) 2022.02.24 [Algorithm] 프로그래머스 멀쩡한 사각형 - C++, GCD (0) 2022.02.24 [Algorithm] 프로그래머스 땅따먹기 - C++, DP (0) 2022.02.23 [Algorithm] 프로그래머스 섬 연결하기 - C++, 크루스칼 (0) 2022.02.23 [Algorithm] 프로그래머스 2 x n 타일링, C++, DP (0) 2022.02.23