#그리디_알고리즘
, #정렬
https://www.acmicpc.net/problem/11399
const fs = require('fs')
const input = fs.readFileSync('/dev/stdin').toString().trim()
.split('\n')[1].split(' ').map(Number).sort((a,b)=>a-b)
const solution = input => {
return input.map((el,i) =>
input.slice(0,i+1).reduce((a,b)=>a+b,0)
).reduce((a,b)=>a+b,0)
}
console.log(solution(input))
기다리는 시간을 최소화하려면 적게 걸리는 사람이 앞에 서야 한다.
즉, 오름차순으로 정렬한다 👉 [1, 2, 3, 3, 4]
그리고 각각을 누적된 시간만큼 매핑한다. 👉 [1, 3, 6, 9, 13]
마지막으로 배열의 합을 구한다 👉 32