본문 바로가기
알고리즘/정렬

백준 1026번 : 보물

by Jason95 2021. 1. 14.

문제 링크 : www.acmicpc.net/problem/1026

내 풀이(2021.1.14) : 

#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

int main() {
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);
	cout.tie(NULL);

	int N; cin >> N;
	vector<int> A, B;
	for (int i = 0; i < N; i++) {
		int temp; cin >> temp;
		A.push_back(temp);
	}
	for (int i = 0; i < N; i++) {
		int temp; cin >> temp;
		B.push_back(temp);
	}
	sort(A.begin(), A.end(), less<int>());
	sort(B.begin(), B.end(), greater<int>());

	int total = 0;
	for (int i = 0; i < N; i++) {
		total += A[i] * B[i];
	}
	cout << total;

	return 0;
}

priority queue 초기화 매개변수의 compare 함수 less<int>()와 greater<int>()를 사용했던 것이 떠올랐다.

sort()도 마찬가지로 less<int>()가 default 함수로 오름차순이고,

greater<int>()가 내림차순이었다.

'알고리즘 > 정렬' 카테고리의 다른 글

정렬의 종류  (0) 2021.01.15