알고리즘 문제 풀이

[백준 알고리즘] javascript 기타줄 1049번

호박고구마123 2024. 2. 27. 14:11
const filePath = process.platform === "linux" ? "/dev/stdin" : "ex.txt";
const [firstLine, ...lines] = require("fs")
  .readFileSync(filePath)
  .toString()
  .trim()
  .split("\n");

const [N, M] = firstLine.split(" ").map((item) => parseInt(item));
let packages = [];
let pieces = [];

lines.forEach((line) => {
  const package = parseInt(line.split(" ")[0]);
  const piece = parseInt(line.split(" ")[1]);
  packages.push(package);
  pieces.push(piece);
});

packages.sort((a, b) => a - b);
pieces.sort((a, b) => a - b);

const packageCount = parseInt(N / 6);
const pieceCount = parseInt(N % 6);

const cheapPackage = packages[0];
const cheapPieces = pieces[0];

const minPrices = [
  cheapPieces * N,
  packageCount * cheapPackage + pieceCount * cheapPieces,
  (packageCount + 1) * cheapPackage,
];

minPrices.sort((a, b) => a - b);
console.log(minPrices[0]);​