본문 바로가기

코딩테스트 문제풀이

[백준 11399] 문제 풀기 (그리디)

#include <stdio.h>
#include <iostream>
#include <vector>

using namespace std;

void solution(vector<int> arr) {
	int len = arr.size();
	int total = 0;

	//스왑
	for (int i = 0; i < len - 1; i++) {
		for (int j = i + 1; j < len; j++) {
			if (arr[i] > arr[j]) {
				arr[i] ^= arr[j] ^= arr[i] ^= arr[j];
			}
		}
	}
	//0에서 지목된 인덱스까지의 값을 모두 더함
	for (int i = 0; i < len; i++) {
		for (int j = 0; j <= i; j++) {
			total += arr[j];
		}
	}
	cout << total;
}

int main() {
	int N;
	vector<int> arr;
	int num;
	cin >> N;

	for (int i = 0; i < N; i++) {
		cin >> num;
		arr.push_back(num);
	}
	
	solution(arr);
}