[백준] - 2467 용액 (node.js)

밀루·2025년 4월 3일
0

BOJ

목록 보기
78/82

문제링크

코드

const fs = require("fs");
const filePath = process.platform === "linux" ? "/dev/stdin" : "./input.txt";
let [n, arr] = fs.readFileSync(filePath).toString().trim().split("\n");

n = +n;
let liq = arr.split(" ").map(Number);

let start = 0;
let end = n - 1;

let now = Infinity;
let s = 0;
let e = 0;

while (start < end) {
  let mid = liq[start] + liq[end];

  if (Math.abs(mid) <= now) {
    s = liq[start];
    e = liq[end];
    now = Math.abs(mid);
  }

  if (mid > 0) {
    end--;
  } else {
    start++;
  }
}

console.log(s, e);

완전탐색을 하기엔 n 제곱이 최대 1억 연산을 넘어서 이분탐색인듯 이분탐색 아닌 것으로.. 풀었다. 투포인터인 것 같기도.

profile
이밀루의 도전

0개의 댓글