2352. 반도체 설계 - node.js / javascript

윤상준·2022년 4월 28일
0

BOJ - node.js / javascript

목록 보기
30/55
post-thumbnail

문제

내 코드

let fs = require("fs");
let input = fs.readFileSync("/dev/stdin").toString().trim().split("\n");

const n = Number(input[0]);
const ports = input[1].split(" ").map(Number);

let LIS = [ports[0]];

function BinarySearch(num) {
  let lt = 0;
  let rt = LIS.length - 1;

  while (lt <= rt) {
    let mid = parseInt((lt + rt) / 2);

    if (LIS[mid] === num) return mid;
    else if (LIS[mid] > num) rt = mid - 1;
    else lt = mid + 1;
  }
  return lt;
}

for (let port of ports) {
  if (port > LIS[LIS.length - 1]) {
    LIS.push(port);
  } else {
    let idx = BinarySearch(port);
    LIS[idx] = port;
  }
}

console.log(String(LIS.length));

깃허브 링크

https://github.com/highjoon/Algorithm/blob/master/BOJ/2352.js

profile
하고싶은건 많은데 시간이 없다!

0개의 댓글