[JS/백준]{그리디}(2217) 로프

202209월 29

백준 문제 링크

문제 설명

처음에 이문제를 풀때 조합을 이용해서 모든 경우의수를 다 구했더니 메모리초과가 나왔다. 그래서

처음에는 모든로프의 허용무게를 구하고 작은값부터 하나씩 제거하면서 허용무게를 구했더니

통과했다.


코드

let [n, ...inputData] = require("fs")
  .readFileSync("./input.txt")
  .toString()
  .trim()
  .split("\n");

inputData = inputData.map((val) => +val.trim()).sort((a, b) => b - a);

let maxWeight = -1;

while (inputData.length) {
  const okWeight = inputData.at(-1) * inputData.length;
  if (maxWeight < okWeight) {
    maxWeight = okWeight;
  }
  inputData.pop();
}
console.log(maxWeight);