🚩 문제 링크
💻사용언어 : python,js
🤔그리디 알고리즘
최소로 걸리기 위해서는 사람들을 오름차순으로 정렬해야 한다.
n = int(input())
people = list(map(int, input().split()))
sum = 0
people.sort() #오름차순 정렬
for i in range(n):
for j in range(i+1):
sum += people[j]
print(sum)
◾ sorted() : 새로운 정렬된 리스트를 반환하는 함수
◾ sort(): 리스트 자체를 정렬, 리스트 반환값은 None
디폴트로 오름차순 정렬을 위해 (reverse=False)가 되어있다. 내림차순정렬을 위해서는 reverse =True로 주어야 한다.
const fs = require('fs');
let input = fs.readFileSync('Q11399/input.txt').toString().split('\n');
const peopleNumber = input[0]; // 사람들 총 인원 수
let people = input[1].split(' ');
// console.log(people);
people = people.map((num)=> parseInt(num));
// 오름차순
// people.sort(function(a,b){
// return a-b;
// });
// 화살표 함수로 간결하게
people.sort((a,b) => a - b)
// console.log(people);
let sum = 0;
for (var i = 1; peopleNumber >= i; i++) {
for(var j = 0; j < i; j++){
sum = sum + people[j]
}
}
console.log(sum);