๐ŸŽฒ ๋ฐฑ์ค€ 2473๋ฒˆ ์„ธ ์šฉ์•ก

Jeongeunยท2023๋…„ 12์›” 2์ผ
0

๋ฐฑ์ค€

๋ชฉ๋ก ๋ณด๊ธฐ
140/186

๋ฐฑ์ค€ 2473๋ฒˆ

๐Ÿ’Š ๋‹ต์„ ์ค‘๊ฐ„์— answerTemp ๋ฐฐ์—ด์„ ๋งŒ๋“ค์–ด ์ €์žฅํ–ˆ๋”๋‹ˆ ์‹œ๊ฐ„ ์ดˆ๊ณผ๊ฐ€ ๋ฐœ์ƒํ–ˆ์—ˆ๋‹ค.
๐ŸŽจ์ฐธ๊ณ 

์ฝ”๋“œ

const fs = require('fs'); 
const input = fs.readFileSync('/dev/stdin').toString().trim().split('\n');
const N = +input.shift();
const sols = input[0]
  .split(" ")
  .map(Number)
  .sort((a, b) => a - b);

let sum = 3000000001;
let answer;
for (let i = 0; i < sols.length - 2; i++) {
  let left = i + 1;
  let right = sols.length - 1;
  while (left < right) {
    let sumTemp = sols[i] + sols[left] + sols[right];

    if (sumTemp === 0)
      return console.log(`${sols[i]} ${sols[left]} ${sols[right]}`);
    if (sum > Math.abs(sumTemp)) {
      answer = `${sols[i]} ${sols[left]} ${sols[right]}`;
      sum = Math.abs(sumTemp);
    }

    if (sumTemp > 0) {
      right--;
    } else if (sumTemp < 0) {
      left++;
    }
  }
}

console.log(answer);

0๊ฐœ์˜ ๋Œ“๊ธ€