[백준/node.js] 10828번 차이를 최대로 (못 풀었음)

2023. 8. 8. 10:45Trip to Cote

나는 큰 수 옆에 작은 수를 배치시키면 최대값이 나올거라 생각했는데 답을 보니 경우의 수를 다 따져야했다.

계속 최대값이 62라고?만 속으로 외쳤던 듯... 오늘은 패배;

const fs = require("fs");
const [n, input] = fs.readFileSync("/dev/stdin").toString().trim().split("\n");
const arr = input.trim().split(" ").map(Number);
const sortArr = arr.sort((a, b) => a - b);
let answer = [];
let count = 0;
let sum = 0;

for (let i = 1; i <= arr.length; i++) {
  if (i % 2 === 1) {
    answer.push(sortArr[count]);
  } else {
    answer.push(sortArr[arr.length - count - 1]);
    count++;
  }
}
console.log(answer);

for (let i = 0; i < arr.length - 1; i++) {
  sum += Math.abs(answer[i] - answer[i + 1]);
  console.log(`지금 sum의 값` + sum);
}

console.log(sum);