그리디 문제
오름차순으로 정렬 후 하나씩 총합을 구하여 그 중 최대값을 구하면 되는 문제이다
https://www.acmicpc.net/problem/2217
let input = [];
const readline = require("readline").createInterface({
input: process.stdin,
output: process.stdout,
});
readline.on("line", (line) => {
input.push(line);
});
readline.on("close", () => {
solution(input);
process.exit();
});
const solution = (input) => {
input.shift();
let arr = input.map((el) => Number(el));
arr.sort((a, b) => a - b);
let sumarr = [];
for (let i = 0; i < arr.length; i++) {
let sum = arr[i] * (arr.length - i);
sumarr.push(sum);
}
let maxi = Math.max(...sumarr);
console.log(maxi);
};
'개발 노트 > 백준, 프로그래머스 풀이' 카테고리의 다른 글
[백준 1920/javascript] 수 찾기 (0) | 2022.10.21 |
---|---|
[백준 1449/javascript] 수리공 항승 (0) | 2022.10.20 |
[백준 1789/javascript] 수들의 합 (0) | 2022.10.19 |
[백준 11508/javascript] 2+1 세일 (0) | 2022.10.19 |
[백준 16435/javascript] 스네이크버드 (0) | 2022.10.19 |
댓글