백준 11399번(그리디)

Seungjae·2021년 1월 20일
0

알고리즘 문제풀이

목록 보기
2/27

11399번(그리디)


이 문제는 정말 간단한 문제였습니다. 그냥 오름차순으로 정렬을 하고 각 시간들을 중복되는 숫자만큰 차례로 더해서 해결하였습니다.

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

using namespace std;

int main() {
	int n;
	vector<int> perTime;
	int num;
	int result = 0;

	cin >> n;

	for (int i = 0; i < n; i++) {
		cin >> num;
		perTime.push_back(num);
	}

	sort(perTime.begin(), perTime.end()); // 오름차순 정렬

	for (int i = 0; i < n; i++) {
		result += perTime[i] * (n - i); // 중복되는 만큼 곱해서 결과에 더하기
	}

	cout << result;

	return 0;
}
profile
코드 품질의 중요성을 아는 개발자 👋🏻

0개의 댓글

관련 채용 정보