Trip to Cote(15)
-
[백준/node.js] 1654번 랜선 자르기 (왜 안될까..?)
const input = require("fs") .readFileSync("/dev/stdin") .toString() .replaceAll("\r", "") .split("\n"); const n = input[0].split(" ").map(Number)[0]; const k = input[0].split(" ").map(Number)[1]; const arr = [...input].slice(1).map(Number); let start = 1; let end = arr.sort()[arr.length - 1]; let result = 0; while (start parseInt(line / mid)) .reduce((a, b) => a + b, 0); if (total < k) { end = m..
2023.09.25 -
[알고리즘] 이진 탐색에 대해 잠깐 알아보자
시작점과 끝점이 있고 중간을 찾는다. 인덱스 값을 비교해서 가까운 쪽으로 범위를 재설정해 먼쪽은 버린다. 로그 복잡도를 가지고 각 단계 마다 탐색 범위를 2로 나누는 것으로 이해할 수 있다. 매우 넓은 억 단위 이상 탐색 범위에서 최적의 해를 찾아야 하는 경우 데이터를 정렬 // 이진 탐색 소스코드 구현(재귀 함수) function binarySearch(arr, target, start, end) { if (start > end) return -1; let mid = parseInt((start + end) / 2); if (arr[mid] == target) return mid; else if (arr[mid] > target) return binarySearch(arr, target, start, ..
2023.09.16 -
node.js 메서드에 대해 알아보자 2023.09.12
-
[백준/node.js] 18870번 좌표 압축
문제를 보고 실버2라 와 개어렵겠다라고 생각했으나 생각보다 답이 쉽게 나와서 돌렸다. const [n, k] = require("fs") .readFileSync("/dev/stdin") .toString() .trim() .replaceAll("\r", "") .split("\n"); let answer = ""; const points = k.split(" ").map(Number); const points2 = k.split(" ").map(Number).sort(); points.map((i) => (answer += points2.indexOf(i) + " ")); console.log(answer.trim()); 코드도 짧아서 성공이다 싶었지만 시간초과로 계속 실패였다. 문제는 내가 시간 복잡..
2023.08.20 -
[백준/node.js] 1181번 단어 정렬
const [n, ...words] = require("fs") .readFileSync("/dev/stdin") .toString() .trim() .replaceAll("\r", "") .split("\n"); let i = words.sort(); let result1 = [...new Set(i)]; function compare(a, b) { if (a.length (answer += item + "\n")); console.log(answer); sor..
2023.08.20 -
[백준/node.js] 15624번 피보나치 수 7 (못 풀었음)
코테를 준비하는데 어려움을 겪어서 그냥 강의를 샀다. 애초에 js로 문제를 풀었으면 좋겠어서 패스트캠퍼스에서 질렀다. 사실 dp에서 벽을 느끼고 산거긴 한데 강의를 듣고도 못 풀어서 너무 슬프다. const n = require("fs").readFileSync("example.txt").toString().trim(); const num = BigInt(n); let d = new Array(1000000).fill(0); function fibo(i) { if (i === 0) { return 0; } if (i === 1) { d[1] = 1; return 1; } if (d[i] !== 0) { return d[i]; } d[i] = fibo(i - 1) + fibo(i - 2); return d..
2023.08.11